从PDF中提取文字(谷歌应用引擎)

时间:2010-03-27 17:10:36

标签: java google-app-engine pdf

是否有用于从PDF中提取文本的免费Java库,它与Google Application Engine兼容?

我读过PDFJet,但它无法读取PDF,可以吗?

是否有其他方法可以从PDF中提取文本?我试过http://www.pdfdownload.org/,遗憾的是他们没有正确处理非英文字符。

5 个答案:

答案 0 :(得分:3)

iText现在有一个文本解析模块(我是解析器作者之一)。有关如何使用它的示例,请参阅com.itextpdf.text.pdf.parser.PdfContentReaderTool类。

答案 1 :(得分:2)

PdfBox无法在GAE上运行。它使用不允许的java类 (GAE仅允许这些http://code.google.com/appengine/docs/java/jrewhitelist.html

我已经将一个非常旧版本的PdfBox(0.7.3)部分修改为GAE抱怨。现在我可以从PDF中提取文本(整页或矩形区域)。我只修改了pdf文本提取的最小部分而不是整个PdfBox。 :)
想法是删除refences到java.awt.retangle& C.使用我自己的“矩形”类。

更多信息:http://fhtino.blogspot.com/2010/04/pdfbox-text-extration-gae.html

答案 2 :(得分:2)

我修改了最新的(1.8.0-Snapshot)版本,以便在Google AppEngine上运行。不得不禁用一个单元测试,但它可以很好地进行简单的文本提取。

遵循简单的try-fail-fix方法,我不得不总共修改5个文件。非常可行。

你也必须明确使用RandomAccessBuffer,就像Fabrizio解释的那样。

对于额外的懒惰,继承了编译的jar,文本提取的依赖关系和补丁。请注意,它可能不适用于每个用例(即基于矩形的提取)。用它来提取整个页面的文本。 https://docs.google.com/folder/d/0B53n_gP2oU6iVjhOOVBNZHk0a0E/edit

答案 3 :(得分:1)

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

  

Apache PDFBox是一个开源Java   用于处理PDF的PDF库   文档。这个项目允许   创建新的PDF文档,   操纵现有文件和   从中提取内容的能力   文档。

但我从未测试过它。

答案 4 :(得分:-1)

上个月,我刚从项目中的pdf文件中提取文本。我使用XPDF工具获取文本和文本坐标,但我在Xcode(Objective-C)中使用它。这个工具是开源的,由C ++编写,能够用许多语言编码。但是,我不知道XPdf是否适用于你的java。无论如何,你可以尝试这个工具。