【问题标题】:poppler pdfunite cannot merge encrypted PDF files, how to remove encryption? (no password needed to open)poppler pdfunite 无法合并加密的 PDF 文件,如何解除加密? (无需密码即可打开)
【发布时间】:2020-07-08 13:11:30
【问题描述】:

我有一些 PDF 文件想要合并为一个。我通常使用Poppler PDF toolkit 中的pdfunite 来执行此操作。

但是现在我收到了这个错误:

无法合并加密文件('foo.pdf')

当我运行exiftool foo.pdf 来查看它的属性时,它确实提到了这一点:

加密:标准 V1.2(40 位)

我不完全了解 PDF 文件中的加密是如何工作的或它应该做什么,但我可以打开并阅读这个特定的文件而无需输入任何密码。我可以在 macOS Preview 中打开文件,没问题。我可以使用 Poppler 自己的pdftoppm 工具将 PDF 转换为 PNG 图像,没问题。

如何覆盖或删除此加密,以便可以使用 Poppler 的 pdfunite 将此 PDF 文件与其他 PDF 合并?

如果这种加密只是元数据属性,我已经尝试使用exiftool 删除所有元数据,如下所示:

exiftool -all= -overwrite_original foo.pdf

exiftool 删除元数据没有问题。但是生成的文件仍然是加密的,pdfunite 无法处理它。

【问题讨论】:

    标签: pdf encryption pdf-generation poppler


    【解决方案1】:

    我在处理 PDFv1.6 文件时遇到了同样的问题。我能够通过降级到 PDFv1.4 来解决:“gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o output.pdf input.pdf”。如https://superuser.com/questions/184288/how-to-convert-a-pdf-document-to-an-older-version 中所述。

    我一直在使用 pdfunite 来合并不同 PDF 版本的文件,并认为 PDFv1.6 文件中有某种签名。

    【讨论】:

      【解决方案2】:

      要为pdfunite 准备报告为加密的文件,请安装qpdf 实用程序并运行以下命令:

      qpdf --decrypt "in.pdf" "out.pdf"

      qpdf --decrypt "in.pdf" --replace-input 覆盖文件,应该是相当安全的。

      然后,可以像往常一样使用pdfunite 合并文件。

      【讨论】:

      • 我必须对所有要合并的文件执行此操作,xargs 救援:ls *.pdf | xargs -I '{}' qpdf --decrypt {} --replace-input
      猜你喜欢
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 2017-02-11
      相关资源
      最近更新 更多