2016-10-10 55 views
0

我有this eps image名为“input.eps”。Ghostscript切断部分图像

我在其上运行下面的命令:

gs -dNOPAUSE -dBATCH -q -sDEVICE=ps2write -sOutputFile=output.eps input.eps 

resulting output file“output.eps”已经砍掉图的右侧。为什么?

注意:我使用GhostScript的原因是要更改input.eps文件中的字体,我将通过指定-I开关并指定字体路径来执行此操作。我没有把它放在代码片段中,因为它与问题无关。

回答

0

EPS文件不请求介质大小(它们旨在通过应用程序包含在PostScript程序中)。所以,如果你不告诉Ghostscript使用什么尺寸的媒体,它别无选择,只能使用它的默认设置。

根据您的操作系统(和区域设置,如果适用),这可能是Letter(612×792单位)或A4(596×842单位)。你的EPS文件声称它有一个由508个单元组成的1008个单元的包围盒。

很明显你的EPS不适合整个媒体,因此会被裁剪。

您可以按正常方式将EPS包装到PostScript程序中,然后在其中请求介质,也可以使用-dEPSCrop开关从注释中读取边界框并将其用于媒体请求。

请注意,尽管存在BoundingBox,但这在技术上并非有效的EPS文件。它具有错误的DSC标识符并执行showpage。

最后,由于EPS文件不包含任何字体,只是引用字体名称,所以不会“更改”EPS文件中的字体。