2016-03-17 44 views
1

任何人都可以建議一個方法或庫,以(100MB-4GB)的PDF文本編程?將大型PDF轉換爲文本的方法?

我通常使用pdftotext(poppler-utils),但它顯示大容量文件的「內存不足」消息,並且只有第一個6000左右的頁面在輸出文本文件中。

也許有辦法將這些PDF分割開來,然後運行pdftotext,也許有方法可以在不消耗內存的情況下成功運行更昂貴的調用,也許另一個庫是最好的...基本上,我很樂意聽到您的建議。感謝大家!

回答

2

我們從PDF解析報紙和雜誌,並將它們轉換爲JPEG格式,但並不完全相同,但是當打開和解析imagemagick/ghostscript時,我們遇到同樣的問題。

我們的解決方案是將它們分成10頁以下的批次,每次解析一個批次,然後按順序放置結果,或者將文本追加到您存儲它的位置。

你很可能使用的ImageMagick/ghostscript的將它們分割爲較小的PDF文件,如果pdftotext不支持

0

當你有成千上萬的輸入PDF文件內頁。每個頁面可能包含文本,圖像和其他解壓縮的對象,可能會佔用x2或更多的內存。

所以,你可以用3000頁分割文件,像這樣: :使用

  • 使用Ghostscript通過PDFSplit腳本命令行

    1. 分割你的代碼的PDF文件

    pdfsplit input.pdf 1 3000 output1-3000.pdf

    pdfsplit input.pdf 3001 6000 output3001-6000.pdf

  • 運行pdftotext到PDF轉換爲文本文件;

  • 然後終於合併的輸出文件:

  • cat output1-3000.txt output3001-6000.txt > output-all-pages.txt

    您也可以使用關於步驟PDFSam效用手動分割文件(1)。