Ghostscript 切断部分图像
Posted
技术标签:
【中文标题】Ghostscript 切断部分图像【英文标题】:Ghostscript cuts off part of image 【发布时间】:2016-10-10 21:46:20 【问题描述】:我有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
开关来完成此操作。我没有把它放在代码 sn-p 中,因为它与问题无关。
【问题讨论】:
【参考方案1】:EPS 文件不要求媒体大小(它们旨在由应用程序包含在 PostScript 程序中)。所以,如果你不告诉 Ghostscript 要使用什么尺寸的媒体,它别无选择,只能使用它的默认值。
根据您的操作系统(以及适当的区域设置),这可能是 Letter(612 x 792 单位)或 A4(596 x 842 单位)。您的 EPS 文件声称它有一个 1008 x 504 单位的边界框。
很明显,您的 EPS 不适合整个媒体,因此会被裁剪。
您可以将 EPS 按正常方式打包以包含在 PostScript 程序中,然后在其中请求媒体,或者您可以使用 -dEPSCrop 开关从 cmets 读取边界框并将其用于媒体请求。
请注意,尽管存在 BoundingBox,但这在技术上并不是一个有效的 EPS 文件。它具有错误的 DSC 标识符并执行显示页面。
最后一点,您不会“更改” EPS 文件中的字体,因为 EPS 文件不包含任何字体,只是对字体名称的引用。
【讨论】:
以上是关于Ghostscript 切断部分图像的主要内容,如果未能解决你的问题,请参考以下文章
转换后的 tiff 文件 (GhostScript) 中缺少 Pdf 文本框标记
在 ASP.NET Azure 网站上使用 Ghostscript.Net