我已经读了很多关于PDF提取和库(作为iText),但我只是没有找到一个解决方案从PDF提取图像和文本(与坐标)。提取图像和文字的坐标和大小从PDF
任务是扫描PDF产品目录并提取每个图像。在每张图片旁边印有图片代码,以及图片上显示的产品的产品代码列表。
我知道没有办法从这样的PDF中提取结构化信息,但所有图像和文本对象的坐标我可以编写代码来识别链接文本的距离与图像的距离。然后,我可以用一个RegExp拆分文本,并找出哪些是产品代码,什么是图像代码等
你能推荐任务的好和工作的解决方案?
我已经读了很多关于PDF提取和库(作为iText),但我只是没有找到一个解决方案从PDF提取图像和文本(与坐标)。提取图像和文字的坐标和大小从PDF
任务是扫描PDF产品目录并提取每个图像。在每张图片旁边印有图片代码,以及图片上显示的产品的产品代码列表。
我知道没有办法从这样的PDF中提取结构化信息,但所有图像和文本对象的坐标我可以编写代码来识别链接文本的距离与图像的距离。然后,我可以用一个RegExp拆分文本,并找出哪些是产品代码,什么是图像代码等
你能推荐任务的好和工作的解决方案?
几个Java库可以做到这一点。你看过JPedal或PdfBox吗?
如果商业图书馆是您的选择,您可以尝试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.
通常的免责声明适用。
使用XPDF(http://www.foolabs.com/xpdf/)
它可以提取与坐标(pdftotext -bbox [sourcefile] [outputfile]
),并在PDF中所有图像和SVGs的PDF中的所有字符。
它是开源的(GPLv2),并且支持很多额外的提取功能。
您是否针对特定的平台/语言?当你说“扫描”的意思是“透视”,或者你实际上是在扫描一个物理对象,并为此需要OCR功能吗? –
感谢您的回复! 我在.NET中编程,因此任何具有.net移植的库都很好。但我也知道JAVA所以在极端我可以使用Java库。 反正我不需要OCR。我的PDF包含文字和图像。文本呈现在PDF的内容流中,所以我需要某种解析器/渲染,它告诉我一个字符串应该在页面上呈现的位置。我只需要这些坐标。 – Alex