自动将 TGA 转换为 PDF

自动将 TGA 转换为 PDF

对于我的 latex 文档,我有想要包含的 tga 格式的图像文件。我想将它们转换为 pdf,这样 latex 就可以缩放它们而不会降低精度。

到目前为止,我只是用 Inkscape 完成了这项工作,但对于许多图片来说,这可能需要大量工作。有什么可以让 Latex 自动完成这项工作吗?或者有没有办法在我的命令行中执行此操作,而不需要像 Inkscape 这样的 GUI?

请注意:我有 Linux。

答案1

“Truevision TGA,通常称为 TARGA,是一种光栅图形文件格式 [...]”

备注:PDF 格式可以包含光栅图像和矢量图像。例如,扫描程序通常提供 PDF 作为输出格式,但这些 PDF 仅包含扫描的光栅图像。这只是为了方便那些更熟悉 PDF 查看器而不是图像程序的用户。此外,将多幅图像作为页面放入 PDF 文件也更容易。

如果您想要矢量数据,则需要矢量化和好的程序来完成它。免费软件工具的示例:potrace用于单色图像。但为了获得良好的结果,您通常需要调整矢量化过程的参数。

如果您只想包含.tga带有 pdflatex 的文件,那么包epstopdf有帮助:

\usepackage{graphicx}
\usepackage{epstopdf}

\epstopdfDeclareGraphicsRule{.tga}{png}{.png}{%
  convert #1 \OutputFile
}
\AppendGraphicsExtensions{.tga}

然后<file>.tga自动转换并包含为。这里使用了的<file>-tga-converted-to.png转换程序。convertImageMagick

编辑:运行外部程序需要一定的权限。TeX Live 中默认启用受限 shell 逃逸。但支持的程序列表不包括convert。因此--shell-escapepdflatex 需要选项。

完整示例

假设.tga文件名为foobar.tga

\documentclass{article}

\usepackage{graphicx}
\usepackage{epstopdf}

\epstopdfDeclareGraphicsRule{.tga}{png}{.png}{%
  convert #1 \OutputFile
}
\AppendGraphicsExtensions{.tga}

\begin{document}
  \includegraphics{foobar}
\end{document}

并且pdflatex需要用选项--shell-escape(TeX Live)调用;MiKTeX 也用作--enable-write18同义词。

PS 如果只有一个.tga文件只需转换一次,那么在命令行上转换它会更容易,例如:

convert foobar.tga foobar.png

交互式图像程序也可以读取 TGA 文件并导出 PNG 文件。

相关内容