使用perl
,確定文件是否爲PDF
的最佳方法是什麼?確定文件是否是perl中的PDF?
顯然,並不是所有的PDFs
都以%PDF
開頭。看到這個答案的評論:https://stackoverflow.com/a/941962/327528
使用perl
,確定文件是否爲PDF
的最佳方法是什麼?確定文件是否是perl中的PDF?
顯然,並不是所有的PDFs
都以%PDF
開頭。看到這個答案的評論:https://stackoverflow.com/a/941962/327528
模塊PDF::Parse呼籲IsaPDF這
返回true,如果文件能夠被解析,是一個PDF文件的方法。
PDF :: Parse :: IsaPDF只會檢查文件是否以「%PDF」開頭。 – cecukemon
檢測PDF並不困難,但有一些特殊情況需要注意。
總之,在文件轉換成字節的緩衝區的第一個和最後一個1KB讀,檢查相關識別的字節串令牌約在那裏他們都應該是,如果他們是那麼你有一個合理的期望,你有一個PDF文件在你的手中。
檢測需要多好?你是否需要檢測常見的PDF文件以將其列入白名單,或者是否應該檢測到可能以PDF格式打開的所有文件,以黑名單列出它們?後者要困難得多,因爲合法的PDF文件實際上可能包含魔術%PDF字符串之前的數據,從而欺騙你認爲這是一個圖像等而不是PDF。 –
*顯然,並非所有PDF都以%PDF開頭* - 所有*有效* pdf(根據規範)都以「%PDF-1」開頭。但是,某些pdf查看者也接受無效的pdf,因此留下不同的印象。 – mkl