☰
在 Windows WSL 中安装 OCRmyPDF 并让 Windows 命令行可直接调用 ocrmypdf
2026/10/7 22:38:34 网站建设 项目流程

在 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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询