【问题标题】:Ghostscript hangs when converting PDF to EPS将 PDF 转换为 EPS 时 Ghostscript 挂起
【发布时间】:2020-10-30 05:56:46
【问题描述】:

长期以来,我一直在使用 Ghostscript 将 PDF 文件转换为 EPS,但现在我收到了使用 PDFsharp 生成的 CMYK PDF 文件,当我尝试将它们转换为 CMYK EPS Ghostscript 时,它只会永远挂起,我不知道没有收到任何错误或消息,所以我真的不知道发生了什么。

我要转换的 PDF 文件是 this 之一,它在 AI、Photoshop、Chrome 和 Foxit Reader 中打开得很好,所以我认为 PDF 没有损坏或格式错误。

我在 Windows 上使用以下命令尝试了 Ghostscript 9.52 和 9.23:

gswin32c -dNOCACHE -dNOPAUSE -dBATCH -dSAFER -sDEVICE=eps2write -sOutputFile="out.eps" in.pdf

添加-dDEBUG 标志后,我可以看到进程卡在这里:

有什么方法可以知道为什么卡住或 PDF 中的什么对象导致卡住?任何信息都非常感谢!

【问题讨论】:

  • 您最好的选择可能是打开错误报告并附上示例。我怀疑它没有卡住。如果您的 PDF 文件包含透明度,则无法将其转换为矢量 PostScript。相反,它将被渲染为图像,然后将其包装在 PostScript 中。尝试将 -r72 添加到命令行。不要使用 -dNOCACHE,这是个坏主意。如果出于某种原因您不希望嵌入字体使用 -dNOOUTPUTFONTS(请参阅ghostscript.com/doc/9.52/VectorDevices.htm#COMMON)。我马上试试这个文件。

标签: pdf ghostscript postscript eps


【解决方案1】:

-r72 很快完成,并生成一个 20MB 的文件。 -r300 在一两分钟内完成并生成一个 300MB 的文件。据推断,在 720 dpi 时,输出文件约为 1.7GB。

如果我以正常分辨率运行但添加 -dNOTRANSPARENCY(这样透明度会被忽略),那么我会在几秒钟内得到一个 27MB 的 EPS 文件。

鉴于您的文件具有 40x60 英寸的媒体,以 720 dpi 渲染将需要很长时间。当你这样做时,你最终会得到一张 EPS,这只不过是一张怪物图像。

如何进行由您决定;如果文件真正使用 PDF 透明度,那么您无法在 PostScript 中生成矢量表示,因为 PostScript 不支持 PDF 透明度,因此您将获得图像。

您可以选择忽略透明度(EPS 在渲染时可能与 PDF 不同),或者以较低的分辨率运行。在不知道最终打印分辨率的情况下,我无法推荐分辨率,但 720 dpi 几乎可以肯定是不合理的高。

请注意,这不是因为它是 CMYK 文件,而是因为 PDF 使用透明度。

【讨论】:

  • 一如既往地感谢肯!我还没考虑PDF大小,我显然需要休息一下,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2010-10-21
  • 1970-01-01
  • 2015-06-11
  • 2016-06-15
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
  • 2010-10-28
相关资源
最近更新 更多