2011-05-18 57 views
3

我想從一個巨大的pdf文件[50MB]中提取所有關鍵字? 哪個模塊適合大型pdf文件解析? 我關心內存解析大文件&幾乎提取所有關鍵字! 這裏我想要SAX類型的解析[一個去解析] &不是DOM類型[與XML類比]。哪個模塊能夠一次性解析.pdf文件? CAM :: PDF或PDF :: API2

+0

您是否嘗試過在標題中列出的模塊?你做了一個或另一個更好嗎? – Mat 2011-05-18 06:41:37

+0

不能這樣!我只用了CAM :: PDF。 – 2011-05-18 06:48:59

+0

那麼爲什麼你不試試另一個,看看它是否適合更好? – Mat 2011-05-18 06:50:11

回答

1

要從PDF中讀取文本,我們使用CAM::PDF,它工作得很好。在一些大文件上速度並不是很快,但處理大文件的能力並不差。我們當然有幾個是〜100Mb,並且處理得很好。如果我回想起來,我們在32位(Windows)Perl上只有130Mb的努力,但當時我們在內存中有很多其他東西。我們看過PDF::API2,但它似乎更傾向於生成從中讀取的PDF。我們沒有將大文件放入PDF::API2,所以我不能給出真正的基準數字。

我們使用CAM::PDF發現的唯一重大缺點是PDF 1.6變得越來越普遍,而且在CAM :: PDF中完全不起作用。這對你來說可能不是問題,但可能需要考慮。

在回答你的問題時,我非常肯定這兩個模塊都會以一種或另一種形式將整個源代碼PDF閱讀到內存中,但我認爲CAM::PDF不會構建更多更復雜的結構。因此,兩者都不是真正的SAX,但CAM::PDF似乎一般較輕,並且可以一次檢索一頁,所以可以減少提取非常大的文本的負擔。