我已经阅读了很多关于PDF提取和库(如iText)的内容,但我还没有找到从PDF中提取图像和文本(带坐标)的解决方案。
任务是使用产品目录扫描PDF并提取每个图像。每张图片旁边都印有图像代码,还有图像上显示的产品的产品代码列表。
我知道无法从这样的PDF中提取结构化信息,但是使用所有图像和文本对象的坐标,我可以编写代码来识别链接文本与图像的距离。然后我可以使用RegExp拆分文本,找出什么是产品代码,什么是图像代码等。
你能为这项任务推荐一个好的工作解决方案吗?
答案 0 :(得分:2)
使用XPDF(http://www.foolabs.com/xpdf/)
它可以使用坐标(pdftotext -bbox [sourcefile] [outputfile]
)以及PDF中的所有图像和SVG提取PDF中的所有字符。
它是开源的(GPLv2),并且还支持许多其他提取功能。
答案 1 :(得分:0)
有几个Java库可以做到这一点。你看过JPedal还是PdfBox?
答案 2 :(得分:0)
如果商业图书馆适合您,您可以尝试Amyuni PDF Creator .Net或Amyuni PDF Creator ActiveX。您可以使用方法IacDocument.GetObjectsInRectangle检索您感兴趣的所有“图形对象”,然后使用ObjectType属性将图像与文本分开。该库已经提供了将近距离文本放在一起的算法。来自文档:
IacDocument.GetObjectsInRectangle Method
The GetObjectsInRectangle method gets all the objects that are in the specified rectangle.
通常的免责声明适用。