C# 此字节数组是受密码保护的PDF文档吗?

C# 此字节数组是受密码保护的PDF文档吗?,c#,pdf,detection,password-protection,C#,Pdf,Detection,Password Protection,我有一个C#字节数组,我需要知道它是否是受密码保护的PDF文档。我怎样才能做出这个决定 我正在检查文档的PDF魔法cookie,以确定它是否是PDF文档,但我不知道在确定它是否受密码保护时,什么是最好的 我不需要打开文档(不过,只要不需要UI——这是一个后台过程,如果有帮助的话,我可以这样做) 我只想知道这个PDF文档上是否有密码 编辑:如果您引用iTextSharp,我将非常感谢您引用该API中解决此问题的特定资源。有几种密码保护PDF的可能性,其中一些由Adobe(“标准”)定义,作为标准的

我有一个C#字节数组,我需要知道它是否是受密码保护的PDF文档。我怎样才能做出这个决定

我正在检查文档的PDF魔法cookie,以确定它是否是PDF文档,但我不知道在确定它是否受密码保护时,什么是最好的

我不需要打开文档(不过,只要不需要UI——这是一个后台过程,如果有帮助的话,我可以这样做)

我只想知道这个PDF文档上是否有密码


编辑:如果您引用iTextSharp,我将非常感谢您引用该API中解决此问题的特定资源。

有几种密码保护PDF的可能性,其中一些由Adobe(“标准”)定义,作为标准的一部分,可以使用所谓的“备用安全处理程序”

总之,基本上可以通过检查PDF规范第115-136页中所述的相应“词典”来检测所有内容-参见

可用于执行此类检查

该库提供可用于检查字节、流或文件是否包含受密码保护的PDF文档的

请看一下显示的样品


免责声明:我为该公司工作。

这个问题相当模糊。。。PDF上可能有两种类型的“密码”。。。用户和主机。。可能只有一个帕索德大师。。。根据“权限”设置,用户可能不需要passowrd,但例如不允许打印文档。。。那么你到底想在那个字节流中找到什么呢?我想知道文档上是否有两种密码类型:用户或所有者(“master”),正如你所说。这不是简单的阅读,但它提供了我们需要确定的信息。很高兴你在这里插入了你的API。这看起来比我们所做的要容易得多。