尽管 Adobe 提供了PDF 规范,但它并不是最容易阅读的文档。PDF 允许对文档进行加密,因此需要用户密码和/或所有者密码才能对文档进行各种操作(显示、打印等)。一个常见的用途是锁定 PDF,以便最终用户可以在不输入任何密码的情况下阅读它,但执行其他任何操作都需要密码。
我正在尝试解析以这种方式锁定的 PDF(以获得与在任何阅读器中打开它们相同的权限)。使用空字符串作为用户密码不起作用,但似乎(规范的第 3.5.2 节)必须有一个用户密码才能为管理员密码创建哈希。
我想要的是如何做到这一点的解释,或者我可以阅读的任何代码(理想情况下是 Python、C 或 C++,但任何可读的都可以),这样我就可以理解我的意思正在做。最好是独立代码,而不是通读(例如)gsview 源代码。