pdf - 将 PDF 转换为 EPS 时 Ghostscript 挂起
问题描述
很长一段时间以来,我一直在使用 Ghostscript 将 PDF 文件转换为 EPS,但现在我收到PDFsharp
了在尝试将它们转换为 CMYK EPS Ghostscript 时生成的 CMYK PDF 文件,它永远挂起,我没有收到任何错误或消息所以我真的不知道发生了什么。
我要转换的 PDF 文件就是这个,它在 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 使用透明度。
推荐阅读
- arrays - 如何告诉 TypeScript 我正在返回一个输入类型的数组?
- javascript - iframe下处理#document的方法
- java - 使用 Stripe 支付时如何正确设置金额?
- python - Python 在列表中替换
- python - tkinter 过去的文字保持字体
- excel - 将多个单元格从excel列复制到剪贴板
- php - 当 enable_query_strings 设置为 true 时,Codeigniter 导航进入默认控制器
- python - 将数据从一个表映射到另一个表?
- javascript - Knex 和 SQL 数据库的引号问题
- javascript - 如何做响应式路径