如何以编程方式从pdf文件中删除密码?

时间:2015-02-23 17:35:11

标签: pdf

我遇到的受密码保护的PDF之一有拖车和加密字典,如下所示:

Trailer Dictionary:  
trailer
<<  
    /Encrypt 64 0 R  
    /Info 65 0 R  
    /Root 63 0 R 
    /Size 66  
    /ID [xxxxxxxx]>>  

Encryption Dictionary:
64 0 obj 
    <<   
    /R 3   
    /P -3904  
    /O (xxxxxxxxxxxxx)  
    /Filter /Standard  
    /Length 128  
    /V 2  
    /U (/xxxxxxxxxxxxx) >>  
endobj

1 个答案:

答案 0 :(得分:0)

在评论中,OP澄清说,没有使用任何软件,他的意思是

  

任何软件也是我们删除密码的代码。我想要该代码的内部工作,即该软件如何删除密码,它实际上是在内部做什么。

因此,这个问题不是关于手动删除PDF密码保护,而是关于了解如何以编程方式删除PDF密码保护。


通过加密几乎 PDF中的所有字符串和流并添加OP已识别的信息来应用PDF密码。通过解密PDF中以前加密的字符串和流并删除添加的信息,可以删除相应的PDF密码。

详细信息在PDF规范ISO 32000-1的 7.6加密部分进行了解释,并且对于堆栈溢出的答案而言过于广泛。幸运的是,Adobe提供了该规范的免费副本,但只缺少ISO徽标和版权声明here,其中一个人可以研究相关部分以及更多内容。