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

时间:2015-02-17 20:25:22

标签: pdf converter ghostscript eps

我想将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

2 个答案:

答案 0 :(得分:3)

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

然而.....

来自文档:

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

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

答案 1 :(得分:3)

使KenS'使用您链接到的test.eps示例文件更明确地回答...以下命令就足以满足您的需求:

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

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

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

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

enter image description here

以下是我创建的答案中给出的命令页面的屏幕截图。其页面大小为360 x 216 pts

Result when adding <code>-dEPSCrop</code>