小小小幸运 发表于 2024-6-20 19:43:59

Docker 部署 OCRmyPDF、提取PDF内容

 一、镜像导入

# 拉取镜像
docker pull jbarlow83/ocrmypdf


# 导出镜像
docker save -o /data/ocrmypdf/ocrmypdf.tar jbarlow83/ocrmypdf:latest
# 导入镜像
docker load -i ocrmypdf.tar


 二、调取镜像

# 【调用镜像】(以下2选1)

# 1-执行后删除容器【官方推荐】
docker run --rm -it -v /data:/data jbarlow83/ocrmypdf /data/ocrmypdf/test/test.pdf /data/ocrmypdf/test/output.pdf --skip-text -l chi_sim


# 2-保留容器
docker run -itd -v/data:/data --name="zc-pdfocr-1"--entrypoint python -p 5000:5000jbarlow83/ocrmypdf webservice.py

# 固定容器名称调用
docker exec zc-pdfocr-1 ocrmypdf/data/ocrmypdf/test/test.pdf /data/ocrmypdf/test/output.pdf --skip-text -l chi_sim

#如果运行出现失败/错误/线程问题,尝试在docker run的时候增加参数
--security-opt seccomp=unconfined --privileged=true  以上完成了:【图片类型的pdf】 向 【文本类型的pdf】 的转换。
至此,可以二次调用 PdfToContent 方法,进行PDF内容的提取。
三、拓展:PdfToContent        (golang抽取pdf内容)

package pdf

import (
        "bytes"
        "github.com/ledongthuc/pdf"
)



func PdfToContent(filePath string) (result string, err error) {
        f, r, err := pdf.Open(filePath)
        // remember close file
        if err != nil {
                return
        }
        defer f.Close()
        var buf bytes.Buffer
        b, err := r.GetPlainText()
        if err != nil {
                return
        }
        _, err = buf.ReadFrom(b)
        if err != nil {
                return
        }
        result = buf.String()
        return
}




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Docker 部署 OCRmyPDF、提取PDF内容