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

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

我已经阅读了PDFJet,但它无法读取PDF,可以吗?

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

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

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

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

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

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

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

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

Apache PDFBox是一个用于处理PDF文档的开源Java PDF库。 该项目允许创建新的PDF文档,处理现有文档以及从文档中提取内容的function。

但我从未测试过它。

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