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

2023-12-09 18:01

本文主要是介绍OCRmyPDF让你能搜索扫描版PDF文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

什么是 OCRmyPDF ?

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

镜像下载

在群晖上以 Docker 方式安装。

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

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

在这里插入图片描述

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

# 拉取镜像
docker pull jbarlow83/ocrmypdf:latest

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

# 如果拉不动的话加个代理
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

# 新建文件夹 ocrmypdf 
mkdir -p /volume1/docker/ocrmypdf# 进入 ocrmypdf 目录
cd /volume1/docker/ocrmypdf

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

在这里插入图片描述

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

在这里插入图片描述

测试验证

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

# 创建别名
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

这篇关于OCRmyPDF让你能搜索扫描版PDF文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/474605

相关文章

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生