Docker 部署 OCRmyPDF、提取PDF内容

打印 上一主题 下一主题

主题 507|帖子 507|积分 1521

 一、镜像导入

  1. # 拉取镜像
  2. docker pull jbarlow83/ocrmypdf
  3. # 导出镜像
  4. docker save -o /data/ocrmypdf/ocrmypdf.tar jbarlow83/ocrmypdf:latest
  5. # 导入镜像
  6. docker load -i ocrmypdf.tar
复制代码
 二、调取镜像

  1. # 【调用镜像】(以下2选1)
  2. # 1-执行后删除容器【官方推荐】
  3. docker run --rm -it -v /data:/data jbarlow83/ocrmypdf /data/ocrmypdf/test/test.pdf /data/ocrmypdf/test/output.pdf --skip-text -l chi_sim
  4. # 2-保留容器
  5. docker run -itd -v  /data:/data --name="zc-pdfocr-1"  --entrypoint python -p 5000:5000  jbarlow83/ocrmypdf webservice.py
  6. # 固定容器名称调用
  7. docker exec zc-pdfocr-1 ocrmypdf  /data/ocrmypdf/test/test.pdf /data/ocrmypdf/test/output.pdf --skip-text -l chi_sim
  8. #如果运行出现失败/错误/线程问题,尝试在docker run的时候增加参数
  9. --security-opt seccomp=unconfined --privileged=true
复制代码
 以上完成了:【图片类型的pdf】 向 【文本类型的pdf】 的转换。
至此,可以二次调用 PdfToContent 方法,进行PDF内容的提取。
三、拓展:PdfToContent        (golang抽取pdf内容)

  1. package pdf
  2. import (
  3.         "bytes"
  4.         "github.com/ledongthuc/pdf"
  5. )
  6. func PdfToContent(filePath string) (result string, err error) {
  7.         f, r, err := pdf.Open(filePath)
  8.         // remember close file
  9.         if err != nil {
  10.                 return
  11.         }
  12.         defer f.Close()
  13.         var buf bytes.Buffer
  14.         b, err := r.GetPlainText()
  15.         if err != nil {
  16.                 return
  17.         }
  18.         _, err = buf.ReadFrom(b)
  19.         if err != nil {
  20.                 return
  21.         }
  22.         result = buf.String()
  23.         return
  24. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小小小幸运

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表