【发布时间】:2020-09-13 18:14:02
【问题描述】:
我需要将一个 PDF 文件附加到另一个。
我觉得 Ghostscript 是前进的方向,并安装了 64 位 Windows 版本 (9.53.0),但如果我尝试对输入为 PDF 的 pdfwrite 执行任何操作,例如
gswin64c -DNOSAFER -sDEVICE=pdfwrite -o output.pdf input.pdf
我得到零长度输出(根本没有错误消息)。无论 PDF 是 Ghostscript 随附的示例之一、使用 tcpdf 生成的示例还是从 Windows 应用程序保存的示例,都会发生这种情况。无论我尝试阅读单个 PDF 还是多个 PDF(后者是我的用例),都会发生这种情况。
如果我将输入的 PDF 转换为 Postscript,然后在其上使用 pdfwrite,它会像梦一样工作,例如
call pdf2ps input.pdf temp.ps
gswin64c -DNOSAFER -sDEVICE=pdfwrite -o output.pdf temp.ps
EPS 输入也可以正常工作 - 唯一的问题似乎是 PDF 输入。但是 Ghostscript 可以读取和显示任何 PDF(并且确实可以将任何 PDF 转换为 Postscript),据我所知,它只是无法将 PDF 作为 pdfwrite 的输入来处理。
我在任何地方都找不到这个特定问题的参考资料。
【问题讨论】:
-
Ghostscript 完全能够读取 PDF 并将其用作 pdfwrite 的输入,许多人经常使用它。恐怕如果没有示例文件,我真的无法为您提供任何东西,这里没有任何东西可以告诉我为什么这对您来说是个问题。我刚刚用examples/annots.pdf试了一下,效果很好。
-
我应该指出 Ghostscript 及其 pdfwrite 设备不会“附加”PDF 文件。这不是这个过程的运作方式。我很欣赏它看起来像那样,但如果实际的 PDF 级内容对您很重要,那么这不是一个好的解决方案。实际过程在这里描述ghostscript.com/doc/9.53.0/VectorDevices.htm#Overview
-
实际上....原来我使用的是发布候选版本。看来发布的二进制文件有这个问题。
-
谢天谢地,我以为只有我一个人!并且输出对于我的目的来说很好,但这种洞察力值得赞赏。
标签: pdf ghostscript