是否有用于从PDF中提取文本的免费Java库,它与Google Application Engine兼容?
我读过PDFJet,但它无法读取PDF,可以吗?
是否有其他方法可以从PDF中提取文本?我试过http://www.pdfdownload.org/,遗憾的是他们没有正确处理非英文字符。
答案 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。无论如何,你可以尝试这个工具。