将 PDF 转换为 EPS 时 Ghostscript 挂起

Ghostscript hangs when converting PDF to EPS

我使用 Ghostscript 将 PDF 文件转换为 EPS 很长时间了,但现在我收到了使用 PDFsharp 生成的 CMYK PDF 文件,当我尝试将它们转换为 CMYK EPS Ghostscript 时,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 中的什么对象导致卡住?非常感谢任何信息!

-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 使用了透明度。