尽管可从Adobe获得PDF specification,但它并非完全是通读最简单的文档。 PDF允许对文档进行加密,以便使用用户密码和/或所有者密码对文档进行各种操作(显示,打印等)。常用的方法是锁定PDF,以便最终用户无需输入任何密码即可阅读,但需要输入密码才能执行其他任何操作。如何使用所有者密码解密PDF,但没有用户密码?
我想解析这种方式锁定的PDF文件(以获得与您在任何阅读器中打开它们相同的权限)。使用空字符串作为用户密码不起作用,但似乎(规范的第3.5.2节)必须有用户密码才能为管理员密码创建哈希。
我想要的是解释如何做到这一点,或者我可以阅读的任何代码(理想情况下是Python,C或C++,但任何可读的都可以)会这样做,以便我能理解我我打算这么做。独立代码,而不是通读(例如)gsview源代码是最好的。
另外,只需在查看器中打开它,当我创建这样一个PDF时,它会打开限制条件,但似乎无法输入我的所有者密码以取消限制。似乎没用。 – Marius 2018-02-28 17:52:56