【发布时间】:2022-01-28 15:25:58
【问题描述】:
我有一个受密码保护的 PDF 文件 - 我知道正确的用户密码。问题是,我只能在 Windows Adobe Reader 上打开它。其他所有 PDF 查看器(还有用于删除密码的 Linux 命令提示工具)都会返回密码错误的信息。
潜在原因:密码过长(30 个字符)并且包含非拉丁(波兰语)字符(如 łó ę ć ź ą)。我尝试了 Unicode 到 ASCII 转换器之类的东西,但它不起作用。
有人知道为什么它只在 Acrobat 中有效吗?我只想在 Linux 上打开这个文档。最好是删除密码。
编辑:文档由 128 位 AES 保护,Acrobat 提到“可以由 Acrobat 7.0 或更高版本打开”。不允许打印、复印等。
EDIT2:感谢您对 cmets 的帮助,我尝试了 SumatraPDF,它可以工作 - 但只允许将其打印到不可搜索的图像 pdf 中。 我检查了它是基于 mupdf 引擎的,但是 Linux 上的 mupdf 无法处理这个文件 - 它崩溃了。 苏门答腊有开源,有人知道如何编辑它以正常方式打印成PDF吗?
【问题讨论】:
-
根据旧(PDF 2.0 之前)加密算法的规范:“密码字符串是从主机系统代码页字符(或系统脚本)通过首先将字符串转换为 PDFDocEncoding 生成的。如果输入是 Unicode,首先转换为代码页编码,然后再转换为 PDFDocEncoding 以实现向后兼容性。”因此,平台依赖性和不明确的转换是设计的一部分。所以不要在那些旧算法的密码中使用非 ASCII 字符。 PDF 2.0 中的 AES-256 改变了游戏规则。
-
我刚刚尝试了 Windows Foxit 和 SumatraPDF - 我非常震惊,SumatraPDF 可以正常工作。我和我的大学朋友尝试了很多 PDF 阅读器,但没有一个可以工作。
-
在这种情况下,您知道什么工具还可以处理密码并将其打印为可搜索文本吗?
标签: pdf passwords adobe-reader