paddleocr 解析pdf 使用体验

2,992 阅读1分钟

pdf 格式简介

pdf (Portal Document format), 可携带文件格式,可将文字,字体,图像,图形,色彩等信息打包在一起。 pdf 为了保证显示效果,牺牲了文档结构。pdf 文档结构是有些“混乱”的。 目前有文本版,图片版,文本图像版(双层)。 这就导致 pdf 格式的解析,难度比较大。 目前通用的做法是通过ocr 的方式,来实现pdf 的版面解析。

ppstructure 介绍

paddleocr 百度开源的ocr 工具,测试在 ocr识别领域还是比较好的。 ppstructure 是基于 paddleocr开发的文档版面识别工具。

ppstructure 功能:

  • 版面分析,能识别出文件中的图形,表格,文字
  • 关键信息抽取

ppstructrue 安装

ppstructure 是基于 python 开发,安装时,安装顺序 python3.8 -> anaconda -> paddlepaddle -> paddleocr

在安装时,对操作系统,paddlepaddle 版本,paddleocr 版本有一定要求。

操作系统 window 2019, (一开始选window 2012 ,在paddle 时,版本太低,安装出错)

anaconda是python 常用库集合。(直接用 python 安装 paddleocr, 会有一些库不存在,报错)

paddlepaddle > 2.4.1

paddleocr > 2.6.0.3

paddleocr 效果展示

在Anaconda prompt 窗口运行命令,

paddleocr --image_dir=d:/download/test.pdf --type=structure --table=false --ocr=false

屏幕快照 2023-01-02 上午11.50.51.png

解析流程: pdf文件分页 =》 页面转化成jpg 图像 =》 识别图像,抽取文本,图像。

最后在当前目录中生成output 文件夹,文件夹中有

  • 页面转化的jpg 图像,(test_0.jpg)
  • 识别出的图形,([]_0.jpg)
  • 表格(excel形式),([]_0.xlsx)
  • 识别出的文本(json 格式)。(test_0.txt)

文件说明:

  • 文件名后面的 0 表示在pdf 中的页码。
  • [] 里的是在文档中的4 个坐标。
屏幕快照 2023-01-02 下午1.40.10.png