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
解析流程: pdf文件分页 =》 页面转化成jpg 图像 =》 识别图像,抽取文本,图像。
最后在当前目录中生成output 文件夹,文件夹中有
- 页面转化的jpg 图像,(test_0.jpg)
- 识别出的图形,([]_0.jpg)
- 表格(excel形式),([]_0.xlsx)
- 识别出的文本(json 格式)。(test_0.txt)
文件说明:
- 文件名后面的 0 表示在pdf 中的页码。
- [] 里的是在文档中的4 个坐标。