• Docker 部署 OCRmyPDF、提取PDF内容


     一、镜像导入

    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. }
  • 相关阅读:
    变电站远程维护解决方案,工程师从此不再“跑断腿“
    Matplotlib格式化轴
    常见索引类型及在MySQL中的应用
    MyBatis--获取参数和各种查询
    iSCSI:提供基于 iSCSI 的网络存储(服务端以及启动器配置)
    npm的使用
    字符编码详解
    高防服务器与高防IP区别
    字符集xxx
    用proteus直接仿真stm32-可以完全丢弃编程器
  • 原文地址:https://blog.csdn.net/Jinzhenjie/article/details/139370542