Ghostscript:如何将 EPS 转换为具有相同页面大小的 PDF

Ghostscript: How to convert EPS to PDF with the same page size

我想将EPS图形转换为具有相同宽度和高度的PDF图形。

以下命令:

gswin32 -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH \
  -sDEVICE=pdfwrite -sPAPERSIZE=letter -dCompatibilityLevel=1.4 \
  -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -dMaxSubsetPct=100 \
  -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile="test.pdf" \
  -f "test.eps"

只生成一个字母页面大小的 PDF 文件。

如有任何帮助,我们将不胜感激。

这是测试 EPS 文件:https://dl.dropboxusercontent.com/u/45318932/test.eps

EPS 文件不能包含介质尺寸请求。在没有任何媒体大小请求的情况下,Ghostscript 使用默认值。

然而.......

来自文档:

http://www.ghostscript.com/doc/9.15/Use.htm#EPS_parameters

-dEPSCrop : 将 EPS 文件裁剪到边界框。这在将 EPS 文件转换为位图时很有用。

为了使 KenS 的回答更加明确,请使用您链接到的 test.eps 示例文件...以下命令足以执行您想要的操作:

gswin32                 \
 -sDEVICE=pdfwrite      \
 -dPDFSETTINGS=/printer \
 -dEPSCrop              \
 -o test.pdf            \
  test.eps

-o test.pdf 是(对于不太古老的 Ghostscript 版本!)shorthand 对于 -dNOPAUSE -dBATCH -sOutputFile=test.pdf

您的 test.eps 使用名为 /SHZENL+Tahoma_00 的字体。 Ghostscript 将自动嵌入此字体,默认情况下它将是一个子集(不过前缀 SHZENL 可能会在 PDF 中更改)。

这是根据您的问题创建的命令页面的屏幕截图。该页面是 612 x 792 pts(字母大小):

这是我的答案中给出的命令创建的页面的屏幕截图。它的页面大小是 360 x 216 pts: