我有this eps image名为" input.eps"。
我在其上运行以下命令:
gs -dNOPAUSE -dBATCH -q -sDEVICE=ps2write -sOutputFile=output.eps input.eps
resulting output file" output.eps"将图的右侧切掉。为什么呢?
注意:我使用GhostScript的原因是更改input.eps文件中的字体,我将通过使用字体路径指定-I
开关来完成此操作。我没有把它放在代码片段中,因为它与问题无关。
答案 0 :(得分:0)
EPS文件不请求媒体大小(它们旨在由应用程序包含在PostScript程序中)。所以,如果你不告诉Ghostscript使用什么尺寸的媒体,它别无选择,只能使用它的默认值。
根据您的操作系统(以及适当的区域设置),这可能是Letter(612 x 792单位)或A4(596 x 842单位)。您的EPS文件声称它的边界框为1008个单位乘以504个单位。
很明显,您的EPS不适合整个媒体,因此会被裁剪。
您可以正常包装EPS以包含在PostScript程序中,并在那里请求媒体,或者您可以使用-dEPSCrop开关从注释中读取边界框并将其用于媒体请求。
请注意,尽管存在BoundingBox,但从技术上讲,这不是一个有效的EPS文件。它具有错误的DSC标识符并执行showpage。
作为最后一点,您不会“更改”EPS文件中的字体,因为EPS文件不包含任何字体,只是对字体名称的引用。