【发布时间】:2016-04-01 03:47:41
【问题描述】:
使用perl,确定文件是否为PDF 的最佳方法是什么?
显然,并非所有PDFs 都以%PDF 开头。请参阅此答案的 cmets:https://stackoverflow.com/a/941962/327528
【问题讨论】:
-
检测需要多好?您是否只需要检测常见的 PDF 文件以将它们列入白名单,还是应该检测所有可能以 PDF 格式打开的文件以将它们列入黑名单?后者要困难得多,因为合法的 PDF 文件实际上可以在魔术 %PDF 字符串之前包含数据,从而欺骗您认为这是图像等而不是 PDF。
-
显然,并非所有 PDF 都以 %PDF 开头 - 所有 有效 pdf(根据规范)都以“%PDF-1”开头.不过,一些 pdf 查看器也接受无效的 pdf,因此会留下不同的印象。