之前给大家讲解过使用 R 语言对扫描文档进行 OCR 并提取表格数据:
使用 R 语言对扫描文档进行 OCR 并提取表格数据:https://rstata.duanshu.com/#/course/901d3f5adacb46c08be568e134289a79
不过会需要一定的代码基础,最近我基于这个课程里面的代码编写了一个 shiny 网页应用,可以免代码使用了:
![]()
该网页应用考虑了三种常见的表格 OCR 需求:
- 单个 png 文件;
- 单个 pdf 文件;
- 多个 pdf 文件。
附件中分别准备了这三种示例文件:
- test.png;
- 一般预算1-4.pdf;
- pdf 文件夹,里面包含 pdf_1.pdf,pdf_2.pdf,pdf_3.pdf,pdf_4.pdf 四个文件。
![]()
使用百度大脑的 OCR 接口,即使是这种很粗糙的年鉴表格也可以识别,非常推荐使用。每个月还有 1000 页的免费额度。
获取 API Key 和 Secret Key
使用该网页应用的第一步就是申请自己的 API Key 和 Secret Key,在百度智能云的控制台创建一个应用即可:https://console.bce.baidu.com/ai-engine/ocr/app/list
![]()
然后就可以看到 API Key 和 Secret Key 了:
![]()
这里我的:
- API Key = FHY4vgRdoVpW3VEU5Eb8619n
- Secret Key = 8Pv8EhRUQWLq1tG7BNOFBut8to9nGpGU
大家需要自行申请,不能使用我的。毕竟每个帐号每个月只有 1000 页的免费额度。
启动 shiny 应用
shiny 应用可以在 RStudio 中启动,不过在此之前需要按照所需的 R 包:
install.packages("shiny") |
都安装成功后就可以启动这个网页应用了:
# 路径需要替换成自己电脑上的 |
然后就看到的了这个页面:
![]()
输入 API Key 和 Secret Key 验证是否有效:
![]()
如果有效的话就可以继续了。
该网页应用考虑了三种常见的表格 OCR 需求:
- 单个 png 文件;
- 单个 pdf 文件;
- 多个 pdf 文件。
首先我们尝试下单个 png 文件,上传文件、开始解析、点击下载 xlsx 文件:
![]()
即可得到:
readxl::read_xlsx("test.xlsx") |
后续还需要自行手动处理下改进结果。
上传含多个表格的 pdf 文件:
![]()
会逐页解析。
如果是上传文件夹需要先勾选 以文件夹方式上传,这个时候会循环解析里面的每个文件:
![]()
对于解析失败的还会汇报错误原因。非常智能。
最后,如果使用中遇到问题,可以及时联系李老师解决。
仅限会员本人使用,非会员请勿打扰。
点击这里跳转到 RStata 短书平台获取附件:Shiny 网页应用分享:调用百度表格识别接口从 pdf 或者图片文件中提取表格数据
评论