![OCR PDF 解析选定区域](https://linux22.com/image/1476892/OCR%20PDF%20%E8%A7%A3%E6%9E%90%E9%80%89%E5%AE%9A%E5%8C%BA%E5%9F%9F.png)
我有许多账户余额文件,我需要从这些文件中的表格创建一个 Excel 文件。我可以进行常规 OCR 识别,但主要问题是这些 PDF 有页眉、页脚、表格标题等,我想只解析每页的选定区域(带有 x、y 坐标)。
这可能吗?
答案1
PDF 文件彼此之间可能有很大差异,包含链接、按钮、表单字段、音频、视频、业务逻辑,或者它们可以是一页一页的扫描图像的简单集合,即使它们是标准的。事实上,便携式文档格式,简称PDF,是国际标准化组织 (ISO) 维护的开放标准[1]。
从 PDF 中提取数据的策略会根据其内容而有所不同,并且使用 OCR 并不总是最好的方法;如果数据直接在内部可用,最好避免不完全无错误的数据处理级别。
- 如果 PDF 是从文字处理器文档(Word、Latex...)创建的,则很有可能成功提取数据,而无需重复任何光学字符识别 (OCR)软件。使用某些查看器,您可以选择表格并至少以
txt
格式或格式导出/保存选择csv
;然后您可以将其导入 eXcel。在您首选的搜索引擎上快速搜索将为您提供更新的列表"open source" or "freeware" pdf tools export
,或者您可以查看有关 pdf 软件的维基百科页面[1b]。 有一些工具,甚至是开源或免费软件,是为此目的而创建的,可用于每个操作系统。使用 Adobe 程序,您可以选择表格并直接导出[2]或... 再次快速搜索您首选的搜索引擎会给你一个更新的
xls
列表。xlsx
"open source" or "freeware" pdf viewers export table
有些互联网网站免费提供这项服务,即使对于账单,我不应该建议你...包括谷歌文档一[3]。
- 最后但同样重要的是,如果它们是图像或其他策略失败,您可以使用 OCR,设置一个框来限制 OCR 选项。使用 FreeOCR [4]例如,您可以选择执行 OCR 的框...
您可以使用鼠标在图片的一部分周围画一个框,然后对当前页面进行 OCR。如果您只想从页面的一个区域获取文本,这种方法非常方便。
如果你的 OCR 不支持该功能,或者同时处理多个文件不太方便,你可以随时使用 Imagemagick [5]或任何其他工具并提取子图像感兴趣区域。然后你可以只给 OCR 提供所选的子图像,没有标题或无用区域。
因此scan
-->extract subimage
-->Ocr on the subimage
-->txt
或csv
数据-->eXcel
。使用 Imagemagick convert 你可以做类似的事情
convert -size 2480X3508 -depth 8 -extract 640x480+1280+960 file.pdf img.png
将 PDF 文件转换为 PNG 文件,A4 页面尺寸为 300 DPI,并提取具有几何参数的框[6] 从
640x480
点开始1280+960
。
请注意,如果手动扫描,您将看到不同的位置感兴趣区域每页。