在 LaTeX 的实际使用中,有时需要将pdf格式的文件转换为 png、jpg 等图像格式。在 [1] 中,给出了“LaTeX(TiKZ)转换为图像”的一个很好的方法。通过查阅其 [2] 中的使用说明链接 [3],发现该方案主要使用了 texlive 自带standalone
文档类和pdftocairo
工具实现。由于该方案基于Windows平台下的批处理方式(*.bat
文件)实现,为简化操作并摆脱平台依赖,在此,将pdftocairo
工具独立出来,并直接使用standalone
文档类参数实现转换。
`pdftocairo`工具
pdftocairo
是一个将pdf文件转换为图像的工具,该工具支持将pdf转换为png、jpeg、tiff、ps、eps、svg等格式的图像。
例如,可以在命令行使用pdftocairo -r 600 -png demo.pdf
命令将 demo.pdf 文件转换为分辨率为600PPI的名称为demo-1.png
的png图像文件。
使用`standalone`文档类参数实现转换
如果使用standalone
文档类,则可以直接在其参数中指定转换方式,直接编译*.tex
LaTeX 源文件就可以同时得到 pdf 文件和转换后的图像文件。
实现转换的文档类参数代码可以是:
1\documentclass[margin=5pt,
2 convert,
3 convert={
4 outext=.png,
5 command=\unexpanded{
6 pdftocairo -r 600 -png \infile % 将生成的pdf文件转换为png图像
7 }
8 }
9]{standalone}
转换`tabular`表格
以下代码实现将tabular
表格转换为png图像:
1\documentclass[margin=5pt,
2 convert,
3 convert={
4 outext=.png,
5 command=\unexpanded{
6 pdftocairo -r 600 -png \infile % 将生成的pdf文件转换为png图像
7 }
8 }
9]{standalone}
10% 支持中文
11\usepackage{ctex}
12\begin{document}
13 % 用minipage实现段落排版
14 \begin{minipage}{1.8in}
15 \begin{table}[!htp]
16 \centering
17 \caption{测试表格}
18 \begin{tabular}{cccc}
19 \hline
20 序号 & 姓名 & 性别 & 年龄\\\hline
21 1 & 张三 & 男 & 38\\\hline
22 2 & 李四 & 女 & 26\\\hline
23 3 & 王五 & 男 & 18\\\hline
24 \end{tabular}
25 \end{table}
26 \end{minipage}
27\end{document}
转换结果为:

Tikz 绘图,普通文本转换为 png,效果图如下,代码详见阅读原文。
Happy LaTeXing!
参考链接[1] https://wenda.latexstudio.net/article-5051.html[2] https://github.com/iruletheworld/latex2img[3] https://latex2img.readthedocs.io/zh_CN/latest/点击阅读原文,获取文件源码
