2014-03-28 63 views
1

我试图找到最佳方式检测给定的PDF使用PHP加密。我不需要解密或编辑它或类似的东西。这个想法是,如果他们上传加密的PDF文件,只需向用户提供错误消息。最简单的方法来检测PDF使用PHP加密

大多数PDF解析库都出现在那里似乎需要将整个PDF读入内存才能进行解析。出于我的目的,将整个PDF阅读到内存中是不可接受的,因为我正在处理的PDF格式可能是几十甚至几百兆字节。

去掉pdfinfo不是一个好的选择(因为我不喜欢启动一个新的过程来做到这一点),但如果没有其他选项,这是解决方案。我不太了解PDF的二进制结构,甚至不需要编写足够的解析器来检测,所以pdfinfo可能是唯一的选择。

TL; DR是否有一种简单的方法,是纯PHP(无C扩展名)来检测PDF是否被加密(又名密码保护)不是将整个事情读入内存?

+0

可能重复[如何检查PDF文件是否受密码保护或不在PHP](http://stackoverflow.com/questions/15901033/how-to-check-if-a-pdf-file-is -password-protected-or-in-php) – Adam

+0

该副本的注释中的FPDF库在PDF文件版本> 1.4时不起作用。此外,建议脱壳pdfinfo(或其他),但具体被称为我想要避免。 – pleonasm

回答

0

看起来最简单的方法是使用pdflib。虽然这是一个C扩展,但它是专门解决这个问题的最快速和最可靠的方式,而不需要对其他程序进行脱壳。

相关问题