Docker 部署 OCRmyPDF、提取PDF内容

一、镜像导入

bash 复制代码
# 拉取镜像
docker pull jbarlow83/ocrmypdf


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

二、调取镜像

bash 复制代码
# 【调用镜像】(以下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

以上完成了:【图片类型的pdf】 向 【文本类型的pdf】 的转换。

至此,可以二次调用 PdfToContent 方法,进行PDF内容的提取。

三、拓展:PdfToContent (golang抽取pdf内容)

Go 复制代码
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
}
相关推荐
TheMemoryIsLost5 小时前
mac系统装docker,不装docker desktop,安装colima
macos·docker·容器
追随者永远是胜利者5 小时前
(LeetCode-Hot100)53. 最大子数组和
java·算法·leetcode·职场和发展·go
@hdd6 小时前
RBAC 详解:基于角色的访问控制与集群安全
网络·云原生·容器·kubernetes
认真的薛薛7 小时前
6.k8s中Jobs-CronJobs-configmap-备份etcd
容器·kubernetes·etcd
DeeplyMind8 小时前
第23章 ROCm虚拟化栈Docker化实战
运维·docker·容器
hhhjjjj9 小时前
docker安装与使用
docker
吹牛不交税10 小时前
.netcore项目部署在ubuntu22.04虚拟机的docker中的过程记录
docker·容器·.netcore
追随者永远是胜利者10 小时前
(LeetCode-Hot100)62. 不同路径
java·算法·leetcode·职场和发展·go
追随者永远是胜利者10 小时前
(LeetCode-Hot100)56. 合并区间
java·算法·leetcode·职场和发展·go
追随者永远是胜利者10 小时前
(LeetCode-Hot100)55. 跳跃游戏
java·算法·leetcode·游戏·go