PDF解析文本和坐标

Ale*_*yon 10 pdf parsing pdflib pdfbox

我目前正在使用PDF Box来解析pdf,我正在试图找出如何检索有关文本的数据,如字体(粗体,大小等)和字体的位置.

有什么建议?

Kur*_*fle 5

从PDF提取文本最佳方法之一TET,即文本提取工具包。TET是PDFlib.com产品家族的一部分。

PDFlib.com是Thomas Merz的公司(“ PostScript和PDF Bible”的作者)。

TET的第一个化身是图书馆。那可能可以做您想做的所有事情,包括在页面上每个文本元素的位置信息。哦,它也可以提取图像。它重组+合并成碎片的图像。

pdflib.com还提供了该技术的另一种形式,即AcrobatTET插件。显然,您还需要Acrobat来利用它。

第三个体现是PDFlib TET iFilter。这是用于用户工作站的独立工具。两者都是免费的(例如在啤酒中),可用于私人,非商业目的。

最后,TET还带有命令行界面。

TET非常强大。比Adobe自己的文本提取更好。它为我提取了其他工具(包括Adobe的工具)仅吐出垃圾的文本。

几个月前,我测试了他们的桌面独立工具,他们在网页上所说的是正确的。它有一个非常好的命令行。我对某些“有问题的” PDF测试文件的处理感到非常满意。

对于所有复杂且具有挑战性的PDF文本提取要求,我都建议使用此工具。

TET真是太棒了。它检测表。在表内部,它标识跨多个列的单元格。它分别标识表行和每个表单元格的内容。它可以很好地处理连字符:它删除连字符并恢复完整的单词。它支持非ASCII语言(包括CJK,阿拉伯语和希伯来语)。遇到连字时,它会还原原始字符...

试试看。


Mar*_*rer 5

翻阅(很难找到的)PDFBox文档后,我发现了这个小宝石

显然其中一个示例准确显示了如何完成您所要求的一切。基本上,您可以继承PdfTextStripper并覆盖该processTextPosition方法。在那里,您查询所需TextPosition的任何信息。

为了将来参考,您可以在这里找到javaDoc:http ://pdfbox.apache.org/apidocs/index.html

编辑2018-04-02:原始链接已死,但可以在SVN存储库中找到示例。