2010-03-27 92 views

回答

3

iText現在有一個文本解析模塊(我是解析器作者之一)。有關如何使用它的示例,請參閱com.itextpdf.text.pdf.parser.PdfContentReaderTool類。

+0

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

+0

嗯。解析器庫當然不使用AffineTransform(我實際上爲解析器實現了我自己的矩陣轉換)。我知道iText *在生成PDF文件時支持*仿射變換,但我懷疑它是解析所必需的。發佈給你帶來問題的類和方法,這與應用引擎一起使用,我會看看。 – 2010-03-30 03:06:04

+0

我剛剛在GAE環境下成功使用了iText =) – rsalmeidafl 2011-03-17 20:33:49

1

我知道有http://pdfbox.apache.org/index.html

的Apache PDFBox的是與PDF文檔 工作一個開源的Java PDF庫。此項目允許 創建新的PDF文檔, 操縱現有文檔和 從 文件中提取內容的能力。

但我從未測試過它。

2

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

-1

上個月,我剛剛完成我的項目中提取PDF文件的文本。我使用XPDF工具獲取文本和文本座標,但是我在Xcode(Objective-C)中使用了它。這個工具是開源的,由C++編寫,並且能夠用多種語言編碼。但是,我不知道XPdf是否適用於您的Java,或者不是。無論如何,你可以嘗試這個工具。

2

我修改了最新的(1.8.0-快照)版本以在Google AppEngine上運行。不得不禁用一個單元測試,但它對於簡單的文本提取運行良好。

繼簡單的嘗試失敗修復方法後,我不得不修改5個文件。很可愛。

你還必須明確地使用RandomAccessBuffer,就像Fabrizio解釋的那樣。

對於額外的懶惰,繼承人編譯的jar,文本提取依賴關係和補丁。請注意,它可能不適用於每個用例(即基於矩形的提取)。用它來提取整個頁面的文本。 https://docs.google.com/folder/d/0B53n_gP2oU6iVjhOOVBNZHk0a0E/edit

+0

我正在使用[this](http://stackoverflow.com/問題/ 4955635 /如何添加本地jar文件在maven項目/ 36602256#36602256)(Anthony O.答案)問題,以添加jar文件在我的項目。 應該將所有jar文件(包括依賴關係)添加到相同的目錄嗎? – dina 2017-02-07 12:46:24

+1

是的。或者更好..通過常規maven-pom作爲依賴關係獲得「最近」版本的commons logging和fontbox,並嘗試它是否工作。 – icyerasor 2017-02-07 17:20:19

+0

謝謝!非常有用!最後我可以在GAE上解析pdf – dina 2017-02-08 11:27:32