OCRmyPDF让你能搜索扫描版PDF文档

什么是 OCRmyPDF ?

PDF 是存储和交换扫描文档的最佳格式。不幸的是,PDF 可能很难修改。OCRmyPDF 是一个 Python 应用程序和库,可以轻松地将图像处理和 OCR(可识别、可搜索的文本)应用于现有 PDF,通过向扫描的 PDF 文件添加 OCR 文本层,使你可以搜索或复制粘贴它们。

镜像下载

在群晖上以 Docker 方式安装。

在注册表中搜索 ocrmypdf ,选择第一个 jbarlow83/ocrmypdf,版本选择 latest

本文写作时, latest 版本对应为 v15.4.2

你也可以使用命令行,用 SSH 客户端登录到群晖后,依次执行下面的命令

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

如果拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

bash 复制代码
# 如果拉不动的话加个代理
docker pull dockerproxy.com/jbarlow83/ocrmypdf:latest

# 重命名镜像(如果是通过代理下载的)
docker tag dockerproxy.com/jbarlow83/ocrmypdf:latest jbarlow83/ocrmypdf:latest

# 删除代理镜像(如果是通过代理下载的)
docker rmi dockerproxy.com/jbarlow83/ocrmypdf:latest

下载完成后,可以在 映像 中找到

准备工作

【说明】:

  1. 与典型的 Docker 容器不同,OCRmyPDF Docker 容器是短暂的,它为一个 OCR 作业运行并终止,就像命令行程序一样。因此,我们通常使用 --rm 参数在容器退出时将其删除。
  2. 默认情况下,Docker 镜像包括英语、德语、简体中文、法语、葡萄牙语和西班牙语,所以中文用户不需要添加语言包。

docker 文件夹中,创建一个新文件夹 ocrmypdf

bash 复制代码
# 新建文件夹 ocrmypdf 
mkdir -p /volume1/docker/ocrmypdf

# 进入 ocrmypdf 目录
cd /volume1/docker/ocrmypdf

准备一个文档用于测试,这是网页上打印生成的 pdf 文件,直接搜索 sam 是没有 没有匹配项

将这个文档放入 ocrmypdf,命名为 input.pdf

测试验证

为了方便起见,创建一个 shell 别名来隐藏 Docker 命令。通过使用 alias 命令,为长或复杂的命令创建简短且易记的别名,以便更快地执行常用操作或减少输入的工作量

bash 复制代码
# 创建别名
alias docker_ocrmypdf='docker run --rm  -i --user "$(id -u):$(id -g)" --workdir /data -v "$PWD:/data" jbarlow83/ocrmypdf:latest'

# 运行 OCR
docker_ocrmypdf /data/input.pdf /data/output.pdf

其中:

  • -- rm:表示在容器退出时,会将其删除;
  • --user "$(id -u):$(id -g)":用于指定在容器内运行的用户和组,确保容器内的进程以与宿主机相同的用户权限运行,以防止权限问题;
  • --workdir /data:指定容器内的工作目录;
  • -v "$PWD:/data":将 /volume1/docker/ocrmypdf 映射到了容器内的 /data

运行完成后,会在 ocrmypdf 中看到多出了一个文件 output.pdf

下载到本地后,用 pdf 阅读器打开后,继续搜索 sam 显示有 2 处匹配

第二处

OCRmyPDF 不仅提供了基本的 OCR 功能,还包括一些高级功能,如自动旋转、自动裁剪、去除文本阴影、增强图像质量等。它使用了一些优秀的开源工具和库,如 Tesseract OCR 引擎、GhostscriptImageMagick,以提供强大的 OCRPDF处理功能,当然,OCRmyPDF 无法打开使用数字证书加密的文档。

参考文档

ocrmypdf/OCRmyPDF: OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched

地址:https://github.com/ocrmypdf/OCRmyPDF
OCRmyPDF documentation

地址:https://ocrmypdf.readthedocs.io
jbarlow83/ocrmypdf - Docker Image | Docker Hub

地址:https://hub.docker.com/r/jbarlow83/ocrmypdf

相关推荐
苏渡苇1 小时前
Docker 网络完全指南
网络·docker·容器·docker容器·容器通信
斯普信云原生组3 小时前
Docker 开源软件应急处理方案及操作手册——镜像管理与构建故障
docker·容器·eureka
MichealChen0105085 小时前
Influxdb-cluster使用docker部署
运维·docker·容器
斯普信云原生组7 小时前
Docker 开源软件应急处理方案及操作手册——安全漏洞与权限问题
运维·docker·容器
xinixini7 小时前
小初高全学科课程标准PDF
pdf
MonkeyKing_sunyuhua7 小时前
阿里云ECS安装docker compose
阿里云·docker·云计算
迷路爸爸1808 小时前
Docker 入门学习笔记 06:用一个可复现的 Python 项目真正理解 Dockerfile
笔记·学习·docker
斯普信云原生组9 小时前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理
docker·容器·eureka
摆烂z9 小时前
对外访问网络限制*.aliyuncs.com开放也拉不下来和查看docker容器结构
运维·docker·容器
SQVIoMPLe9 小时前
python-langchain框架(3-7-提取pdf中的图片 )
python·langchain·pdf