将 EPS 转换为 PDF 的好方法有哪些?

将 EPS 转换为 PDF 的好方法有哪些?

我想尝试使用 pdfLaTeX 生成 PDF,但我的图片都是 EPS。我还希望图片保持可缩放性。

我曾尝试使用 ImageMagik 的convert

convert file.eps file.pdf

但效果看起来不太好,经过几次放大后,图像变得颗粒状。

我尝试了epstopdf file.eps,但收到以下错误消息:

Error: /undefined in II*
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1878   1   3   %oparray_pop   1877   1   3   %oparray_pop   --nostringval--   1861   1   3   %oparray_pop   1755   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:1160/1684(ro)(G)--   --dict:1/20(G)--   --dict:89/200(L)--
Current allocation mode is local
Last OS error: 2
GPL Ghostscript 8.71: Unrecoverable error, exit code 1

这实际上并没有告诉我任何事。

有人知道将 EPS 转换为 PDF 的其他方法吗?(我有大约 200 张图片,所以命令行更好)

答案1

epstopdf当然,这就是epstopdf包所依赖的。(如果您使用了包,则无需转换。)

或者这就是你的意思eps2pdf?我从未发现有任何问题。

我想你也可以尝试Inkscape;我认为它确实有一些批处理功能,甚至可能有用于转换的命令行选项,即使它主要是一个 GUI 应用程序。

编辑:根据inkscape 手册,你可以这样做:

inkscape --export-pdf=output.pdf input.eps

EDIT2:实际上,您可能需要在命令行上使用 SVG 输入进行 inkscape 导出;我会对此进行进一步研究。不过,您可以通过 GUI 进行操作。

答案2

您可以使用ps2pdf选项来抑制重采样和有损压缩图像-dAutoFilterColorImages=false-dColorImageFilter=/FlateEncode。(在 Windows 上,用 替换=#

ps2pdf与 不同,可能不会保留相同的边界框epstopdf,但您可以通过从中复制逻辑来解决这个问题epstopdf(例如,编辑epstopdf.pl以将这些选项添加到 ghostscript 命令行)或者使用 重新进行剪辑pdfcrop

答案3

我总是使用以下批处理文件

echo off
latex %1
del %1.log
del %1.aux
dvips %1 -E -o %1-crop.eps
del %1.dvi
epstool --copy --bbox %1-crop.eps %1.eps
del %1-crop.eps
epstopdf --hires %1.eps

在我的工作中编译一个例子:

% gridoff.tex
\documentclass{minimal}
\usepackage{pstricks}

\pagestyle{empty}
\begin{document}

\begin{pspicture}[showgrid=false](3,3)
\pscircle(1.5,1.5){1}
\rput[tr](3,3){3}
\end{pspicture}

\end{document}

它运行没有问题。您需要的重要部件是

epstool --copy --bbox input.eps output.eps
epstopdf --hires output.eps

第一个调用 GhostScript 来附加高分辨率边界框。最后一个将 EPS 转换为具有高分辨率边界框的 PDF。

相关内容