如果我有一个 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