PDF解析使用文本和坐标

问题描述 投票:8回答:4

我目前使用的PDF盒解析PDF文件,我试图找出如何检索有关文本数据,如字体(粗体,大小等),字体的位置。

有什么建议么?

parsing pdf pdfbox pdflib
4个回答
4
投票

周围的(很难找到)PDFBox的文档戳后,我发现this little gem

很明显的一个例子正好说明了如何做你问的一切。基本上,你继承qa​​zxswpoi并覆盖PdfTextStripper方法。在那里,你查询你需要的任何信息processTextPosition

对于未来的参考,你可以在这里找到的Javadoc:TextPosition

编辑2018年4月2日:原始链接是死的,但例如可以在http://pdfbox.apache.org/apidocs/index.html找到。


5
投票

其中一个文本提取从PDF文件的最好的事情是SVN repo here。 TET是PDFlib.com系列产品的一部分。

PDFlib.com是托马斯·梅尔茨的公司(下称“PostScript和PDF圣经”的作者)。

TET的第一个化身就是TET, the text extraction toolkit。这大概一个可以做你想要的一切,包括约页面上的每个文本元素的位置信息。哦,它也可以提取图像。它重组+合并被细分成图像。

pdflib.com也提供这项技术,a library的另一个化身。显然,你需要Acrobat以及充分利用这一点。

而第三化身是TET plugin for Acrobat。这对于用户工作站的独立工具。无论这是免费的(如啤酒)用于私人,非商业目的。

最后,TET还附带了一个命令行界面。

TET真的很强大。路比Adobe自己的文本提取更好。它提取的文本,我有其他工具(包括Adobe的)只做吐出垃圾。

几个月前,我测试了他们的桌面独立的工具,他们说他们的网页什么是真实。它有一个很好的命令行。我的一些“问题”的PDF测试文件处理,我完全满意的工具。

这件事是我对每一个复杂和具有挑战性的PDF文本提取需求的建议。

TET是根本真棒。它可以检测表。里面的表,它识别跨多个列的单元格。它单独地识别表中的行和每个表格单元的内容。它处理得很好,连字:它删除连字符和恢复完整的单词。它支持非ASCII语言(包括CJK,阿拉伯语和希伯来语)。当遇到连字,它恢复原来的人物...

试试看。


1
投票

PDFlib TET iFilter提取选项3或4所述GetPageText函数返回一个CSV串所选页,其中包括文本(单个单词或一段文本)和相关的字体名称,文本颜色,文本大小和坐标上的页。

注:这是一个商业库,我为销售其公司工作。


0
投票

PDF文件可以使用塔布拉-PY,或塔布拉的Java解析。

我对如何在Quick PDF Library使用塔布拉-PY一个完整的教程。您可以在Web浏览器太,只要你已经安装了Java塔布拉。

© www.soinside.com 2019 - 2024. All rights reserved.