
AI 应用OCR【免费下载链接】pdf-craftPDF craft can convert PDF files into various other formats. This project will focus on processing PDF files of scanned books.项目地址https://gitcode.com/gh_mirrors/pd/pdf-craft点击查看免费下载本指南面向使用 pdf-craft Python 库的用户只解决一个问题根据你的设备条件把 pdf-craft 和处理 PDF 所需的系统依赖正确安装好。读完本文你将掌握标准版与[local]extra 的选择逻辑、Poppler/Ghostscript 的跨平台安装方法、local OCR 的 CUDA 环境搭建流程以及安装后的验证与故障定位手段。先决定安装哪一种大多数用户直接安装标准版本即可python -m pip install pdf-craft标准版本包含 vendor OCR、Markdown/EPUB 渲染和 PDF 翻译所需的依赖。vendor OCR 使用远程服务的计算资源本机不需要 CUDA。DeepSeek OCR 和 DeepSeek OCR 2 的配置需要base_url、model和api_key百度 Unlimited OCR 的配置需要ak和skbase_url有默认值。只有在你明确希望让 OCR 模型运行在自己的 NVIDIA GPU 上时才安装 local extrapython -m pip install pdf-craft[local]从仓库的 pyproject.toml 可以看到这一决策在项目元数据中体现得很清楚local是一个 optional dependency对应声明为doc-page-extractor[local]1.2.1,2.0.0即本地 OCR 运行时完全由上游的doc-page-extractor负责提供pdf-craft 只在依赖声明层面把它透传出去。也就是说local extra 只提供本地 OCR 所需的 Hugging Face、Transformers 等 Python 运行时它不会替你选择适合所有设备的 PyTorch CUDA wheel——你仍需要根据操作系统、Python 版本、NVIDIA 驱动和 CUDA 环境安装匹配的 PyTorch。没有可用 CUDA 设备时使用标准版本和 vendor OCR。如果你不确定自己应该选哪一种使用标准版本。系统要求Python3.11,3.14。该范围与 pyproject.toml 中requires-python 3.11,3.14完全一致classifiers 也声明了对 3.11、3.12、3.13 的支持。PopplerPDF 页面渲染、OCR 提取和 PDF 写回都需要它。写回会渲染源页以估计局部擦除颜色但不会将该 raster 当作输出页面。GhostscriptPDF 写回需要它将源页编译为纯视觉底图避免原文在译文下方被选中。vendor OCR网络连接和有效的供应商配置只要运行 OCR 提取还需要 Poppler本机不需要 CUDA。local OCR支持 CUDA 的 NVIDIA GPU、匹配的 PyTorch、模型缓存、足够的显存和 Poppler。PySide6/Qt 会作为 Python 依赖安装pyproject.toml的 dependencies 中固定了pyside66.8.0,7.0.0PDF 写回还需要本机有合适的字体。行内公式的矢量渲染是可选能力开启时需要 Matplotlib 和能在PATH中调用的 TeXlatex两者缺失或某个公式渲染失败时写回不会中断而会将该公式降级为可读的 plain text。local OCR 的显存需求取决于所选模型、ocr_size和输入页面。不要把某个模型的显存经验值当作所有 backend 的硬性要求如果设备资源不足优先使用 vendor OCR。建议使用虚拟环境虚拟环境可以避免 pdf-craft 与系统中其他 Python 项目互相影响。以 Python 3.11 为例python3.11 -m venv .venv source .venv/bin/activate # macOS / Linux # Windows PowerShell: # .venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install pdf-craft如果要使用 local OCR在安装标准版本的位置改为python -m pip install pdf-craft[local]安装完成后后续命令都应在这个虚拟环境中执行。安装 PopplerPoppler 是 pdf2image 用来读取和渲染 PDF 页面的系统工具。安装后pdfinfo应该能在终端中直接执行。macOS使用 Homebrewbrew install popplerDebian / Ubuntusudo apt-get update sudo apt-get install poppler-utilsWindows下载适用于 Windows 的 Poppler 二进制包将其中的bin目录加入系统PATH然后重新打开终端。也可以在应用层通过DefaultPDFHandler(poppler_path...)指定 Poppler 路径from pdf_craft import DefaultPDFHandler, PDFCraft, PDFOptions craft PDFCraft(pdfPDFOptions( pdf_handlerDefaultPDFHandler(poppler_pathC:/tools/poppler/bin), ))这条应用层配置路径在源码中有明确落点pdf_craft/pdf/handler.py 中的DefaultPDFHandler会把poppler_path保存下来并在DefaultPDFDocument.render_page中把它传给pdf2image.convert_from_path。若未指定该参数poppler_path传None即回退到系统PATH中的 Poppler当 Poppler 找不到时handler.py 会区分两种情况抛出带有明确提示的PDFError指定了路径但该路径无效或根本未在 PATH 中找到。验证 Popplerpdfinfo -v如果出现command not found或 Windows 找不到命令请先修复 PATH再运行 pdf-craft。为 PDF 写回安装 GhostscriptPDF 写回需要 Ghostscript 命令行程序macOSbrew install ghostscriptDebian / Ubuntusudo apt-get update sudo apt-get install ghostscriptWindows安装 Ghostscript 并将gswin64c.exe加入PATH。在运行 Python 的同一环境中确认gs --version或gswin64c --version可用。为什么写回必须依赖 Ghostscript看 pdf_craft/pipeline/pdf/visual_base.py 中的GhostscriptVisualBaseCompiler实现就清楚了写回流程会把去掉交互式注释的源页交给 Ghostscript 的pdfwrite设备重新编译其中关键的-dNoOutputFonts参数让文字以线划必要时以位图字形写入输出从而保证译文下方的原文无法被选中-dPreserveAnnotsfalse配合先剥离注释、再在译文绘制完成后由reattach_annotations恢复。可执行文件的查找顺序是gs、gswin64c、gswin32c找不到时会抛出明确的安装提示错误。可选PDF 行内公式矢量渲染PatchTextOptions(render_inline_formulasTrue)默认开启。环境中有 Matplotlib 与 TeX 时行内 LaTeX 会作为矢量 PDF fragment 写回否则 pdf-craft 会安全降级为可读 plain text。在运行 pdf-craft 的 Python 环境安装 Matplotlib并安装能让latex出现在PATH中的 TeX 发行版即可。这与 OCR 无关接受 plain-text 公式降级时不需要安装这些可选组件。若在写回结果中发现公式显示为 plain text 而非矢量公式这属于文档明确支持的预期降级行为而不是转换失败。local OCR 的 CUDA 环境只有选择 local OCR 时才需要这部分准备。vendor OCR 用户可以跳过。1. 检查 NVIDIA 驱动和 GPUnvidia-smi如果命令不存在、没有显示 NVIDIA GPU或驱动状态异常当前设备无法运行 local OCR。2. 安装匹配的 PyTorchPyTorch 的安装命令取决于操作系统、Python 版本和 CUDA wheel。请在 PyTorch 官方安装页面选择与你的环境匹配的命令不要盲目复制其他机器的 CUDA 版本https://pytorch.org/get-started/locally/pdf-craft 不直接固定torch或torchvision版本原因是 CPU、CUDA 和不同平台需要不同的 wheel。安装后可以检查 CUDA 是否可用python -c import torch; print(torch.__version__); print(CUDA available:, torch.cuda.is_available())local OCR 需要输出CUDA available: True。如果输出为False请使用 vendor OCR或先修复 PyTorch、驱动和 CUDA 环境再继续配置 local OCR。3. 安装 pdf-craft local extra在确认 PyTorch CUDA 环境可用后安装python -m pip install pdf-craft[local]该 extra 通过doc-page-extractor[local]提供本地 OCR 运行时。模型首次使用时可能会从模型仓库下载较大的文件。你可以先下载模型并在之后完全离线运行from pdf_craft import DeepSeekOCRLocalConfig, PDFCraft, PDFOptions, predownload_models download_ocr DeepSeekOCRLocalConfig( models_cache_pathmodels, enable_devices_numbers[0], ) predownload_models(ocrdownload_ocr) offline_ocr DeepSeekOCRLocalConfig( models_cache_pathmodels, local_onlyTrue, enable_devices_numbers[0], ) craft PDFCraft(pdfPDFOptions(ocroffline_ocr))models_cache_path指定模型缓存目录local_onlyTrue禁止运行时下载模型enable_devices_numbers指定可使用的 GPU 编号。预下载阶段可以暂时将local_only设为False或省略模型下载完成后再用local_onlyTrue运行。这三个字段是三种 local 配置对象的公共结构pdf_craft/ocr_config.py 中DeepSeekOCRLocalConfig、DeepSeekOCR2LocalConfig、UnlimitedOCRLocalConfig均以 frozen dataclass 形式定义了models_cache_path、local_only、enable_devices_numbers三个字段enable_devices_numbers会被归一化为 tuple。predownload_models的实现见 pdf_craft/functions.py它会基于传入的ocr配置构建OCRrecognizer 并调用其predownload方法且要求同步上下文require_sync_context()。三种 local 配置都支持这些参数。DeepSeekOCR2LocalConfig的已验证ocr_size是base显式使用tiny会提前失败UnlimitedOCRLocalConfig只支持base和gundam。ocr_size属于提取选项ExtractionOptions而非 OCR 配置对象字段关于六种配置对象的字段差异和更多运行约束可继续阅读 OCR backend 配置指南。验证 Python 包安装无论选择 vendor OCR 还是 local OCR都可以先验证 Python 包是否能够导入python -c import pdf_craft; print(pdf_craft.__file__)这一步只验证包安装不会下载模型、调用 OCR 服务或处理 PDF。真正开始转换时再按 README 的快速开始示例创建对应的 OCR 配置对象。运行前的配置边界库 API 不会自动读取.env请在 Python 代码中显式传入 OCR 配置和翻译 LLM 配置。DeepSeek vendor OCR 需要base_url、model、api_key和网络连接Unlimited OCR vendor 需要ak、sk和网络连接base_url可省略。local OCR 需要本机 CUDA、PyTorch、模型文件和显存。OCR 只负责页面识别翻译需要单独的文本 LLM 配置。PDFOptions还提供models_cache_path和local_only两个便捷字段用于在不显式传入ocr时创建默认的DeepSeekOCRLocalConfig一旦显式传入ocr配置对象再同时传这两个字段会抛出ValueError见 pdf_craft/ocr_config.py 中ensure_ocr_config的校验逻辑以及 pdf_craft/craft.py 中PDFOptions的字段定义。安装后的故障定位安装完成后即可按 README 的快速开始示例运行。运行 PDF 转换、PDF patch 或 PDF translation 时遇到 Poppler、CUDA、模型下载或远程请求错误应先检查本指南对应的安装条件和配置字段。常见现象的优先排查项可以对照 故障排查指南 中的问题定位表现象优先检查Poppler not found in PATHPoppler 是否安装、命令是否在 PATH 中PDF 写回启动失败或提示 GhostscriptGhostscript 是否安装、gs是否在 PATH 中行内公式只显示 plain text 而非矢量公式Matplotlib 和本机 TeX 是否安装否则这是预期降级local OCR 报 CUDA 不可用PyTorch 是否为 CUDA 版本、驱动和 GPU 是否可见local OCR 提示缺少运行时是否安装了pdf-craft[local]local OCR 报找不到模型模型缓存路径、local_only和模型是否已下载vendor OCR 请求失败endpoint、模型名、API key、网络和供应商配额安装本身是一个分层的过程Python 包标准版或[local]extra负责提供库代码与运行时Poppler 负责页面渲染Ghostscript 负责写回底图编译PyTorch/CUDA 决定 local OCR 能否运行而 OCR 配置与翻译 LLM 配置则决定了真正转换时使用哪套后端。按本指南逐层核对即可让 pdf-craft 在你的设备上稳定跑起来。赞分享AI 应用OCR【免费下载链接】pdf-craftPDF craft can convert PDF files into various other formats. This project will focus on processing PDF files of scanned books.项目地址https://gitcode.com/gh_mirrors/pd/pdf-craft点击查看免费下载相关推荐Windows平台终极PDF处理工具包Poppler完整部署指南Windows平台终极PDF处理工具包Poppler完整部署指南 在Windows系统中处理PDF文档常常会遇到各种困扰但Poppler工具包的出现彻底改变开发工具PDF处理工具Poppler完全指南从部署到精通PDF处理工具Poppler完全指南从部署到精通 核心优势解析 在数字化办公与开发场景中PDF文件处理已成为基础需求。Poppler作为一款开源PDF开发工具Argilla Python 包安装指南从 PyPI 到 develop 分支的完整部署方案Argilla Python 包安装指南从 PyPI 到 develop 分支的完整部署方案 Argilla 是一套面向 AI 工程师与领域专家、用于构建高质数据标注人工智能NLPMLOpsRAG上一篇JuliaUp 终极指南如何轻松管理多个 Julia 版本的完整解决方案下一篇Seedance 2.0 Skill OS 西语指南把想法转化为可直接发送的导演级 Prompt创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考