Ghostscript 截掉了部分图像

Ghostscript cuts off part of image

我有 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 开关来完成。我没有把它放在代码片段中,因为它与问题无关。

EPS 文件不要求媒体大小(它们旨在由应用程序包含在 PostScript 程序中)。因此,如果您不告诉 Ghostscript 使用什么尺寸的媒体,它别无选择,只能使用其默认值。

根据您的操作系统(以及适当的区域设置),这可能是 Letter(612 x 792 单位)或 A4(596 x 842 单位)。您的 EPS 文件声称它有一个 1008 个单位 x 504 个单位的边界框。

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

您可以像往常一样将 EPS 包装起来以包含在 PostScript 程序中,并在那里请求媒体,或者您可以使用 -dEPSCrop 开关从评论中读取边界框并将其用于媒体请求。

请注意,尽管存在 BoundingBox,但从技术上讲这不是有效的 EPS 文件。它有错误的 DSC 标识符并执行显示页面。

最后一点,您不会 'changing' EPS 文件中的字体,因为 EPS 文件不包含任何字体,只是对字体名称的引用。