- # 拉取镜像
- 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:5000 jbarlow83/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内容的提取。
- 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
- }
-
-
-