在 Windows WSL 中安装 OCRmyPDF 并让 Windows 命令行可直接调用 ocrmypdf
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
如果你的 Windows 机器上运行着 Windows Subsystem for Linux(WSL),又不想在 Windows 侧分别安装 Python、Tesseract、Ghostscript 这一整套 64 位依赖,那么可以直接在 WSL 的 Ubuntu 里安装 OCRmyPDF,再通过一条符号链接命令,让 Windows 的命令行提示符、PowerShell 乃至批处理文件都能用wsl ocrmypdf调用它。本文基于 OCRmyPDF 官方安装文档中 “Installing on Windows / Windows Subsystem for Linux” 一节的步骤,覆盖从 WSL 内安装到 Windows 侧验证的完整路径。
官方文档给出的前提只有两条:
- WSL 中已安装 Ubuntu 22.04(文档明确以 Ubuntu 22.04 for WSL 为前提,如未安装需先安装);
- 未安装时可跳过第 1 步,直接进入 Ubuntu 内的安装流程。
需要说明的是,OCRmyPDF 不支持任何 32 位系统(包括 32 位 Python 或 32 位 Ghostscript),WSL 场景下请使用 64 位 Ubuntu 发行版。
在 WSL 的 Ubuntu 中安装 OCRmyPDF
在 WSL 的 Ubuntu 终端里操作。官方 WSL 一节引用的就是 “Installing the latest version on Ubuntu 22.04/24.04 LTS” 流程:先装系统依赖,再用 uv 装最新版 Python 包。
# Install system dependencies first sudo apt-get update sudo apt-get -y install ocrmypdf # Install uv and upgrade to the latest OCRmyPDF pip install uv uv pip install --user --upgrade ocrmypdf两步分工不同:
apt install ocrmypdf会带上 Tesseract、Ghostscript 等系统级依赖,但 Ubuntu 仓库里的版本可能落后于上游最新版本,所以文档建议紧接着用 uv 升级;uv pip install --user --upgrade ocrmypdf从 PyPI 安装最新 release,脚本落在~/.local/bin下。这里用--upgrade很关键:如果没有它,而 apt 已经装过,只会提示已满足要求而不会真正升级。
一个已知限制:Debian/Ubuntu 的 OCRmyPDF 包目前不含 JBIG2 编码器(JBIG2 专利已于 2017 年全部到期)。没有它 OCRmyPDF 可以正常工作,只是输出文件会更大;如需要,可参考文档 JBIG2 一节 自行构建 jbig2enc,安装后 OCRmyPDF 会自动从PATH中检测到它。
在 Windows 命令行创建符号链接并验证
安装完成后,从Windows 命令行提示符或 PowerShell(注意不是在 WSL 里)执行官方文档给出的这条命令:
wsl sudo ln -s /home/$USER/.local/bin/ocrmypdf /usr/local/bin/ocrmypdf- 命令中的
$USER是 Windows 环境变量,取值为 Windows 当前用户名,也就是 WSL 里 Ubuntu 的/home下的用户目录; - 这条命令会在 WSL 文件系统内创建符号链接,把
uv pip install --user安装到的~/.local/bin/ocrmypdf映射到/usr/local/bin/ocrmypdf,使wsl ocrmypdf能够按绝对路径找到可执行文件; - 它需要 sudo 权限(用于写入 WSL 内的
/usr/local/bin),只影响 WSL 文件系统的这一个链接,不改动 Windows 侧任何内容。
然后验证版本,确认安装的是 PyPI 上的预期版本:
wsl ocrmypdf --version版本输出符合预期后,就可以在 Windows 命令行或 PowerShell 中用wsl前缀调用 OCRmyPDF 了,例如wsl ocrmypdf in.pdf out.pdf;官方文档同时说明,这样也可以从 Windows 程序和批处理文件中调用它。
已知限制与适用边界
- 文档中 WSL 一节按 Ubuntu 22.04 给出;符号链接指向
~/.local/bin,与上面 uv--user安装的位置一致,若改用其他安装方式(如 apt 单包或虚拟环境),该链接路径可能不成立。 - 同样的安装文档还提供了 Windows 原生安装(winget/Chocolatey + pip)和 Cygwin64 两条路径,它们与本文的 WSL 路径互不替代,这里不再展开。
- 32 位系统不受支持,包括 32 位 Windows 下的 32 位 Python 和 32 位 Ghostscript。
完整安装选项(Docker 镜像、Homebrew、pip/pipx 等)可继续参考 安装文档。
【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考