我有一个C#字节数组,我需要知道它是否是受密码保护的PDF文档。我该如何做出这个决定?
我正在检查文档中的PDF魔术cookie以确定它是否是PDF文档,但在确定它是否受密码保护时我不知道什么是最好的。
我不需要打开文档(但是,只要不需要UI - 这是一个后台进程,如果有帮助的话,我可以这样做。)
我只需知道此PDF文档上是否有密码。
编辑:如果您引用iTextSharp,如果您引用该API中的特定资源来解决此问题,我将非常感激。
答案 0 :(得分:2)
密码保护PDF有几种可能性,一些由Adobe(“标准”)定义,作为标准的一部分,可以有所谓的“备用安全处理程序”。
无论如何,基本上都可以通过检查PDF规范第115-136页所述的相应“词典”来检测所有内容 - 请参阅http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf
答案 1 :(得分:2)
Docotic.Pdf library可用于执行此类检查。
库提供group of methods,可用于检查字节,流或文件是否包含受密码保护的PDF文档。
请查看显示how to check if an existing PDF document is password protected的示例。
免责声明:我为公司工作。