YAOTU INSIGHTS

扫描版 PDF 变可搜索文档:PdfCraft OCR 完整教程

扫描版 PDF 变可搜索文档:PdfCraft OCR 完整教程
扫描版 PDF 变可搜索文档PdfCraft OCR 完整教程【免费下载链接】pdfcraftPdfCraft: An open-source PDF reader and editor written by scratch in pure Rust项目地址: https://gitcode.com/gh_mirrors/pr/pdfcraft扫描件里的字选不中、搜不到、复制不了这是纸质档案数字化后最常见的糟心事。PdfCraft 的Scan OCR扫描与OCR功能把扫描版 PDF 变成可搜索、可复制的文档免费、离线运行识别结果还能随时撤销。功能速览项目说明输入类型扫描版、纯图片的 PDF 页面输出方式Searchable Image (Exact)每个单词上方写入不可见文本层原图一个像素都不动运行环境识别模型装在本地全程在你的机器上完成不上传任何文件语言支持目前仅拉丁字母English / en⚠️撤销识别结果是一步可撤销编辑CtrlZ 整体回退工作原理可以把 PDF 页面看成两层底下是图上面是字。扫描件的“字”只是像素所以选不出来。PdfCraft OCR 做的事情相当于在图上盖一层看不见的字模型找出每个单词的位置和内容然后在每个单词上方写入一层不可见文本PDF 渲染模式 3。原图保持原样页面从此能搜、能选、能被屏幕阅读器朗读。这套做法与 Acrobat 的 “Searchable Image (Exact)” 一致。实现上核心识别在 crates/ocr/src/lib.rs页面渲染与文本层写入逻辑在 crates/engine/src/ocr.rs。一次性准备识别依赖两个本地模型文字检测 文字识别只需获取一次。在仓库根目录运行cargo xtask models模型会下载到assets/models/也可以把模型文件放到任意目录再设置环境变量PDFCRAFT_MODELS指向它。模型文件名为text-detection.onnx与text-recognition.onnx旧版.rten同样名文件也能被识别。应用会自动找到完整的一对。⚠️ 目前模型只读拉丁字母英语等无重音拉丁文中文、日文扫描件暂不适用。单文件实操开始识别与选页打开 PdfCraft载入你的扫描件。在左侧工具栏点进Scan OCR进入Recognize Text识别文本对话框界面逻辑在 crates/ui-egui/src/workflows/ocr_ui.rs。先选识别范围共三个选项页码范围含义All pages全部页面Current page仅当前页From X to Y指定页码范围 小文档可以先只跑当前页效果满意再跑全文。参数与进度参数一共三处默认值就能用参数说明建议值Document language文档语言EnglishenOutput输出方式Searchable Image (Exact)原图不变Downsample to页面渲染分辨率默认 300 dpi模糊扫描件可提到 600 dpi点Recognize text开始。识别在后台线程运行界面提示“第 X 页 / 共 Y 页”的进度中途可点Cancel取消已识别的页面会保留。速度大约每秒一页。完成后提示“识别了 N 个单词 / M 页”结果作为一步可撤销的编辑写入文档CtrlZ 即可回退。效果验证打开顶部搜索框输入刚才看过的某个关键词原本搜不到的扫描件现在能高亮定位每一处匹配位置。用鼠标在页面上拖一下选中的是真正的文字可以直接复制而不是一张图。整份文档的排版与图像质量保持不变识别后照常加注释、导出都行。批量与自动化手头的扫描件不止一个同一入口下还有“识别多个文件中的文本”功能选好文件夹后PdfCraft 逐个识别每个 PDF以同名文件写出可搜索版本最后汇总“在 N 个文件中识别了 M 个单词”。批量逻辑在 crates/ui-egui/src/workflows/ocr_ui.rs底层单文件函数recognize_file位于 crates/engine/src/ocr.rs。除了图形界面PdfCraft 还向脚本和 Agent 暴露了三个 OCR 命令工具定义在 crates/automation/src/tools.rs命令作用ocr.recognize对当前文档执行识别ocr.recognize_batch多文件批量识别输出到指定文件夹ocr.status查询模型是否已安装、支持哪些语言避坑清单现象原因处理提示 “Text recognition isnt installed”模型文件缺失重装 PdfCraft或设置PDFCRAFT_MODELS指向模型目录完成后提示“N 页已有文字”默认跳过已含真实文字的页面避免重复识别正常行为确需重扫可勾选 “Also recognize pages that already have text”识别结果不满意误识别或参数不合适CtrlZ 整体撤销或只选指定页码范围重跑中文页面识别为空当前模型只读拉丁字母暂不支持可留意 ROADMAP模糊扫描件识别率低渲染分辨率偏低Downsample to 调到 600 dpi 再试收尾流程一句话打开文档 → 进 Scan OCR → 选页设参 → 点识别 → 搜索验证。整批档案建议直接走多文件批量识别一次跑完。【免费下载链接】pdfcraftPdfCraft: An open-source PDF reader and editor written by scratch in pure Rust项目地址: https://gitcode.com/gh_mirrors/pr/pdfcraft创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考