是否有任何免費的Java庫用於從PDF中提取文本,這與Google Application Engine兼容?從PDF中提取文本(谷歌應用程序引擎)
我已閱讀PDFJet,但它無法閱讀PDF,可以嗎?
有沒有其他方法可以從PDF中提取文本?我試過http://www.pdfdownload.org/,不幸的是他們不能正確處理非英文字符。
是否有任何免費的Java庫用於從PDF中提取文本,這與Google Application Engine兼容?從PDF中提取文本(谷歌應用程序引擎)
我已閱讀PDFJet,但它無法閱讀PDF,可以嗎?
有沒有其他方法可以從PDF中提取文本?我試過http://www.pdfdownload.org/,不幸的是他們不能正確處理非英文字符。
iText現在有一個文本解析模塊(我是解析器作者之一)。有關如何使用它的示例,請參閱com.itextpdf.text.pdf.parser.PdfContentReaderTool類。
我知道有http://pdfbox.apache.org/index.html
的Apache PDFBox的是與PDF文檔 工作一個開源的Java PDF庫。此項目允許 創建新的PDF文檔, 操縱現有文檔和 從 文件中提取內容的能力。
但我從未測試過它。
PdfBox不能在GAE上運行。它使用不允許的Java類。
(GAE只允許這些http://code.google.com/appengine/docs/java/jrewhitelist.html)
我已經部分修改一個很老的版本PDFBOX(0.7.3)的是GAE complaiant。現在我可以從PDF中提取文本(整個頁面或矩形區域)。我只修改了pdf文本抽取的最小部分,而不是整個PdfBox。 :)
這個想法是去除對java.awt.retangle的返回C.使用我自己的「矩形」類。
更多信息:http://fhtino.blogspot.com/2010/04/pdfbox-text-extration-gae.html
上個月,我剛剛完成我的項目中提取PDF文件的文本。我使用XPDF工具獲取文本和文本座標,但是我在Xcode(Objective-C)中使用了它。這個工具是開源的,由C++編寫,並且能夠用多種語言編碼。但是,我不知道XPdf是否適用於您的Java,或者不是。無論如何,你可以嘗試這個工具。
我修改了最新的(1.8.0-快照)版本以在Google AppEngine上運行。不得不禁用一個單元測試,但它對於簡單的文本提取運行良好。
繼簡單的嘗試失敗修復方法後,我不得不修改5個文件。很可愛。
你還必須明確地使用RandomAccessBuffer,就像Fabrizio解釋的那樣。
對於額外的懶惰,繼承人編譯的jar,文本提取依賴關係和補丁。請注意,它可能不適用於每個用例(即基於矩形的提取)。用它來提取整個頁面的文本。 https://docs.google.com/folder/d/0B53n_gP2oU6iVjhOOVBNZHk0a0E/edit
我正在使用[this](http://stackoverflow.com/問題/ 4955635 /如何添加本地jar文件在maven項目/ 36602256#36602256)(Anthony O.答案)問題,以添加jar文件在我的項目。 應該將所有jar文件(包括依賴關係)添加到相同的目錄嗎? – dina 2017-02-07 12:46:24
是的。或者更好..通過常規maven-pom作爲依賴關係獲得「最近」版本的commons logging和fontbox,並嘗試它是否工作。 – icyerasor 2017-02-07 17:20:19
謝謝!非常有用!最後我可以在GAE上解析pdf – dina 2017-02-08 11:27:32
iText使用GAE上不可用的某些類(如java.awt.AffineTransform)。有關詳情,請參閱此頁面:http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine – 2010-03-29 06:07:10
嗯。解析器庫當然不使用AffineTransform(我實際上爲解析器實現了我自己的矩陣轉換)。我知道iText *在生成PDF文件時支持*仿射變換,但我懷疑它是解析所必需的。發佈給你帶來問題的類和方法,這與應用引擎一起使用,我會看看。 – 2010-03-30 03:06:04
我剛剛在GAE環境下成功使用了iText =) – rsalmeidafl 2011-03-17 20:33:49