我可以使用 ImageMagick 从 PDF 中删除密码吗?

我可以使用 ImageMagick 从 PDF 中删除密码吗?

如果我有一个 PDF 并且知道它的密码,我只需将其发送到 PDF 打印机即可获得一个内容相同但没有密码的新 PDF。但这个过程并不轻松(例如,Ubuntu 的内置 PDF 打印机似乎不太愿意遵守我的页面方向设置;Windows 版 PDFCreator 只是看着我并打印了一条错误消息,等等)。

我想让这个过程不那么痛苦,我想 ImageMagick 可以帮我。然而...

convert foo.pdf -authenticate baz bar.pdf

...并没有给我带来快乐。

   **** This file requires a password for access.
   **** The file was produced by: 
   **** >>>> �Sh�Ў,bd�  a���߰�
                                �u�|!
                                      ���� <<<<
Error: /invalidfileaccess in pdf_process_Encrypt

现在……我猜如果有的话pdf_process_Encrypt,很可能也会有对pdf_process_Decrypt操作的支持,对吗?

那我该怎么办呢?

答案1

pdftk可能有帮助:

pdftk secured.pdf input_pw foopass output unsecured.pdf

在 Windows 上,A-PDF 限制解除器也不错,虽然是付费软件。

答案2

虽然我是通过反复试验才发现这一点的,但使用 ImageMagick 可以非常简单地完成此操作。我用来从 PD 中删除限制的命令是:

mogrify c:\workingdirectory\password_protected.pdf

基本上,它会导致 ImageMagick 完全按照原样重新创建 PDF,但由于 ImageMagick 无法添加限制,因此结果是相同的 PDF,没有限制。如果您有任何问题,请告诉我,我可以向您发送我使用的脚本示例。

答案3

正如 Levi 所回答的,您可以使用 ImageMagick 的mogrify。但是,为了进一步说明,我发现要让 mogrify 真正使用受密码保护的文件,您可能需要将密码指定为:

mogrify -authenticate yourpassword c:\workingdirectory\password_protected.pdf

警告!这将覆盖原位文件

此外,pdf 的质量可能会因此而下降,因为我相信默认密度设置为 72dpi。因此,为了保持质量,请尝试使用 300dpi(或您喜欢的任何值):

mogrify -authenticate yourpassword -density 300 c:\workingdirectory\password_protected.pdf

相关内容