Автоматически конвертировать TGA в PDF

Автоматически конвертировать TGA в PDF

Для моего документа latex у меня есть файлы изображений в формате tga, которые я хотел бы включить. Я хочу преобразовать их в pdf, чтобы latex мог масштабировать их без потери точности.

К настоящему моменту я сделал это только с помощью inkscape, но для многих изображений это может быть большой работой. Есть ли что-то, что позволит latex делать это автоматически? Или есть способ сделать это в моей командной строке, без GUI, как inkscape?

Обратите внимание: у меня 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программа конвертации convertиз .ImageMagick

Редактировать:Запуск внешних программ требует некоторых прав. В TeX Live ограниченный выход из оболочки включен по умолчанию. Но список поддерживаемых программ не включает convert. Поэтому опция --shell-escapeнеобходима для pdflatex.

Полный пример

Предположим, что .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как синоним.

P.S. Если есть только один .tgaфайл, который нужно преобразовать только один раз, то проще преобразовать его в командной строке, например:

convert foobar.tga foobar.png

Также подойдет интерактивная программа для работы с изображениями, которая может читать файлы TGA и экспортировать файлы PNG.

Связанный контент