# 大批扫描 PDF 变成可搜索的文件库：依需求选工具，附六百多页的实际费用

> 手上有一大批只有图像的扫描 PDF，想让它可以搜索、可以分类归档？这篇依需求分成四条路：不写代码的桌面软件、免费的 OCRmyPDF、云端 OCR，以及我这次用的 AI 逐页转写加 OCR。附六百多页的实际费用（新增用量费约 7 美元：AI 转写每 1,000 页约 US$9.6，云端 OCR 每 1,000 页 US$1.50）、免费与云端 OCR 的实测差距，以及上传前要确认的数据政策。

- Author: Paul Kuo（郭曜郎）
- Date: 2026-10-24
- Pillar: 创造与建构 / Creation & Enterprise
- Tags: 扫描文件数字化, OCR, 可搜索 PDF, OCRmyPDF, Azure AI Document Intelligence, Claude Batch API, 实录
- Canonical: https://paulkuo.tw/zh-cn/articles/scan-to-searchable-archive/
- Language: Simplified Chinese (简体中文)
- Translation: AI-translated from the zh-Hant (Traditional Chinese) original
- Original (zh-Hant): https://paulkuo.tw/articles/scan-to-searchable-archive.md
- Site index for LLMs: https://paulkuo.tw/llms.txt

---

> **TL;DR**：大批扫描 PDF 只要能搜索，一套 OCR（把图片里的字认成电脑文字的工具）就够：不想写代码，用桌面 PDF 软件；要免费、文件不出门，用 OCRmyPDF；页数多、可以上云端，用云端 OCR，每 1,000 页约 1.5 美元。还要知道每页写什么、分类编目的话，再加 AI 逐页转写，两边互相对照抓错。我这次六百多页走最后这条，新增的用量费约 7 美元，不含原本就在付的 AI 订阅和人力时间；收到的原始扫描文件另外保存，完全没改。

傍晚六点多，我下载到一份 90 MB 的 PDF：六百多页的英文纸本文件扫描文件，每一页都只是一张图。在 PDF 里搜索任何一个字，结果都是零。随文件附了一份页码索引，列出哪几页是哪份文件。

一开始只打算把内容转成文字。晚上九点多，决定再进一步，整理成一套有代码的文件库，交给同事用。到了半夜十二点多，它变成八十多份各自独立、可以全文搜索的 PDF，每份配一个 Word 文字文件（方便搜索和复制，但不能当正本），最上层一份总目录 Excel 和一份使用说明。

处理大批扫描 PDF 是常见的需求，所以我把这次的经验整理成选择指引：先依你要的结果选一条路，每条路有做法、费用和限制；这次的实际经过放在第四条路，当作佐证。这篇不是逐步操作手册，这次写的代码也没有公开。

动手的大多是 Claude：代码是它写的，组文件和验证也是它跑的。我负责定范围和拍板，也自己开了云端账号，用到账号密钥的那一步由我在自己电脑上执行。不会写代码的人，也可以这样分工：把这篇的选择表、转写规则和官方文件链接，交给会写代码的 AI 代理人（能在你电脑上写代码、跑程序的 AI，例如 Claude 或 Codex），请它照着做。要注意，AI 代理人读到的文件内容会送到那家 AI 服务，敏感文件请先看下面的提醒。

## 你要的是哪一种结果？先选一条路

先问自己两件事：只要能搜索，还是要分类编目？文件能不能上传到云端？

| | 你要的结果 | 做法 | 要写代码吗 | 文件上云端吗 | 费用 | 我测过吗 |
|---|---|---|---|---|---|---|
| 第一条路 | 只要能搜索 | 桌面 PDF 软件的文字辨识功能 | 不用 | 多半不用，以各软件说明为准 | 软件订阅或授权费 | 没测 |
| 第二条路 | 只要能搜索，要免费、文件不出门 | OCRmyPDF（底层是 Tesseract） | 要开终端、装工具、打指令 | 不用 | 免费 | 测过 Tesseract |
| 第三条路 | 只要能搜索，页数多、可以上云端 | 云端 OCR | 要，或请 AI 代理人写 | 要 | 每 1,000 页约 US$1.50 | 测过 Azure |
| 第四条路 | 还要读懂每页、分类、编目 | AI 逐页转写加 OCR，再用程序组文件 | 要，或请 AI 代理人写 | 要，而且是两家云端 | 这次每 1,000 页约 US$11 | 这次的做法 |

> **上传之前先问三件事**：文件里有没有身份证字号、病历或未公开的商业资料？公司规定或资料的主人允不允许上传？那家服务的数据会存多久，会不会拿去训练，能不能提早删除？任何一题答不出来，就先别上传：走第二条路，或改用确定完全在自己电脑上处理的桌面软件。另外，请 AI 代理人帮忙时，它读到的文件内容、画面和错误信息，也会送到那家 AI 服务；敏感文件请自己执行指令，别让 AI 代理人打开文件。

不管走哪一条，都先把原始文件复制一份，所有处理都在副本上做。然后挑 5 页最难的试跑：有表格的、手写的、转了方向的、小字多的。跑完打开搜索几个字，再对照原图，确定质量可以接受才整批做。

## 第一条路：只要能搜索、不想写代码，用桌面 PDF 软件

打开 PDF，执行软件里的文字辨识（OCR）功能，存档，就有一份可以搜索的 PDF。

以 Adobe Acrobat Pro 为例（免费的 Acrobat Reader 没有这个功能）：开启扫描 PDF 的副本，依序点 All tools（所有工具）→ Scan & OCR → Recognize Text → In This File，按下 Recognize Text。设置里如果有输出类型，选 Searchable Image (Exact)：文字叠在原图上，原图不动；Editable Text and Images 会把扫描图换成重新排过的文字，Searchable Image 也会重新取样图像。跑完用「另存新文件」存成新的文件名，例如「原文件名\_可搜索.pdf」，不要直接按保存盖掉原文件。这是英文界面的名称，中文界面找「扫描」和「识别文字」相关的选项；Adobe 的中文说明页标题是〈[识别扫描文件中的文字](https://helpx.adobe.com/cn/acrobat/desktop/create-documents/scan-documents-to-pdfs/recognize-text.html)〉。ABBYY FineReader PDF 等软件也有同样的功能。

这条路我这次没有实测，步骤依 Adobe 说明页与两份大学图书馆的教学（[操作步骤](https://kb.uwstout.edu/155829)、[输出类型](https://guides.lib.ku.edu/ocr/acrobat)）整理，版本不同菜单也可能不同；价格依方案和地区不同。

## 第二条路：免费、文件不出门，用 OCRmyPDF

[OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF) 是免费的开源工具，一行指令就能替整份 PDF 加上文字层，文件不会离开你的电脑。要用的是「终端」，也就是电脑上输入指令的窗口：Mac 在「应用程序」里的「实用工具」文件夹，也可以用 Spotlight 搜索「终端」打开。

Mac 上先照 [Homebrew 官网](https://brew.sh/)的说明装好 Homebrew（Mac 上安装这类工具的程序），再在终端依序执行：

```bash
brew install ocrmypdf
ocrmypdf --version
```

第二行会印出版本号，代表装好了。要辨识英文以外的语言，再执行 `brew install tesseract-lang`。

接着建一个工作文件夹，把 PDF 的副本放进去。在终端输入 `cd` 和一个空格，把这个文件夹拖进终端窗口，按 Enter，就切换到这个文件夹了。再执行：

```bash
ocrmypdf -l eng input.pdf output.pdf
```

`input.pdf` 换成你的文件名；文件名有空格的话，前后加上引号，例如 `"我的 扫描文件.pdf"`。`output.pdf` 是加好文字层的新文件，原文件不会被覆盖。繁体中文把 `eng` 改成 `chi_tra`，中英混排写 `eng+chi_tra`（代码见 [OCRmyPDF 语言说明](https://ocrmypdf.readthedocs.io/en/latest/languages.html)和 [Tesseract 语言代码表](https://tesseract-ocr.github.io/tessdoc/Data-Files-in-different-versions.html)）。跑完打开新文件搜索几个字，确认找得到。

有页面放反、横躺或歪掉的话，可以在 `-l eng` 后面加上 `--rotate-pages`（转正）和 `--deskew`（拉直）。这两个选项会改到新文件的页面样子，想保留原貌就不要加。Windows 的装法见[官方安装说明](https://ocrmypdf.readthedocs.io/en/latest/installation.html)，装到能执行 `ocrmypdf --version` 为止；其他选项见[官方范例](https://ocrmypdf.readthedocs.io/en/latest/cookbook.html)。

OCRmyPDF 默认用的辨识引擎是 Tesseract。我这次是直接调用 Tesseract，没有通过 OCRmyPDF，质量可以参考第四条路里的比较：大多数页读得不错，难页读得差。

选用、我没测：用 Mac 的人还可以试 [AppleOCR 插件](https://github.com/mkyt/OCRmyPDF-AppleOCR)，改用 macOS 内建的文字辨识。它要用 Python 的安装工具 pip 装（`pip install ocrmypdf-appleocr`，需要 Python 3.11 以上），要明确指定时在指令加上 `--ocr-engine appleocr`（OCRmyPDF 17 版以上才有这个选项）。不装它，前面的 OCRmyPDF 也能用；想试的话，拿几页跟原图比对再决定。

## 第三条路：页数多、可以上云端，用云端 OCR

微软 Azure、AWS、Google 三家的云端 OCR 牌价都是每 1,000 页 US$1.50。三家里只有 Azure 能直接返回可搜索的 PDF，我这次用的就是它。要注意的是，Azure 的官方数据说明没有写会不会拿去训练（见后面「各家的数据政策」）；照开头的停损规则，敏感文件要先向微软或你的公司确认，不然就走本机的路。以下是 2026 年 10 月的官方信息：

| 服务 | 费用 | 免费额度 | 可搜索 PDF | 我测过吗 |
|---|---|---|---|---|
| Azure AI Document Intelligence 的 Read 模型 | 每 1,000 页 US$1.50（[定价页](https://azure.microsoft.com/pricing/details/ai-document-intelligence/)、[价格 API](https://prices.azure.com/api/retail/prices?$filter=productName%20eq%20%27Azure%20Document%20Intelligence%27%20and%20meterName%20eq%20%27S0%20Read%20Pages%27)） | 免费方案（F0）一次只分析[前两页](https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/service-limits) | 直接返回，[不另收费](https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/prebuilt/read) | 测过 |
| [AWS Textract](https://aws.amazon.com/textract/pricing/) | 每 1,000 页 US$1.50 | 新客户前三个月，每月 1,000 页 | 要自己接程序，官方博客有[范例](https://aws.amazon.com/blogs/machine-learning/generating-searchable-pdfs-from-scanned-documents-automatically-with-amazon-textract/) | 没测 |
| [Google Document AI](https://cloud.google.com/products/document-ai/pricing) | 每 1,000 页 US$1.50 | 定价表第一级（0 到 1,000）标示免费，没写是每月还是一次 | 官方工具箱可以转成 [hOCR](https://docs.cloud.google.com/document-ai/docs/samples/documentai-toolbox-document-to-hocr) 格式，还要再接工具做成 PDF | 没测 |

用 Azure 的步骤：

1. 开一个随用随付的 Azure 账号。免费试用不一定有，我的账号就不符合资格。
2. 建一个 Document Intelligence 资源，选付费的 S0 方案；免费方案只会处理前两页。
3. 在资源页面找到「端点」和「密钥」。端点是这个服务的网址，密钥是一串密码，程序两样都要用到。密钥的用途跟信用卡号差不多：不要写进代码，不要传给别人，也不要贴进 AI 的聊天窗口。
4. 请写代码的人或 AI 代理人照[官方文件](https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/prebuilt/read)写一支小程序。给他的规格：用 Read 模型（prebuilt-read），API（让程序调用云端服务的界面）版本 2024-11-30，送出分析时加上 output=pdf；送出后隔几秒查一次结果，完成了再调用下载 PDF 的网址。程序要在执行时才跳出提示请你输入密钥，或从你自己在终端设置的环境变量读取，不显示、不存档。先拿 5 页跑一次，打开下载的 PDF 搜索几个字，确认有文字层再整批送。
5. 设预算警示，花到某个比例就寄信通知你。警示默认是寄信，本身不会停用服务或停止计费（[官方说明](https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/tutorial-acm-create-budgets)）。

我开账号时卡了两个地方。我的账号曾被别的组织邀请过，登录时跑到对方的空间（微软叫它「目录」），在那里被要求设置多重要素验证，短信验证码收到了，注册却出错；改成指定从自己账号所属的目录登录，就能正常使用。重点在确认登录的是自己的目录；多重要素验证是保护账号用的，自己的账号一样建议开着。另一个是账单页的金额只写「$」，没标币别，我要等第一笔费用入账才能确定是哪种货币。画面上的「$」不一定是美元，在意的话，整批送出前先查清楚账单币别。

这次六百多页，服务器端只处理了 37 秒，牌价约 US$0.95。花时间的反而是传文件：结果文件有 92 MB，下载速度只有每秒两三百 KB，照这个速度要六分钟上下。终端一动也不动，我一度以为它停住了。这个服务我先留着，之后如果补来新的扫描，同一支程序再跑一次就好。

## 第四条路：还要读懂、分类、编目，加上 AI 逐页转写

让 AI 把每一页照原样转成文字，拿来分类和编目；OCR 负责搜索；两份结果逐页对照，挑出要人去看的页。这是我这次的做法，下面是实际经过。

### 这批扫描文件的状况

每页是一张图像，绝大多数是黑白，只有 5 页是彩色。打字的内文、表格数字和勾选框都清楚，难的是其他东西：有 3 页是横式内容直着扫，要转 90 度才看得懂；页边有手写的星号和问号；有些页首被切掉一截，日期跟着少了；照片和图表在黑白扫描里变成网点。

随附的索引是起点，但它自己也注明可能有小错。后来逐页核对，找到一封信的日期写错，两份文件的分界差了一页，两张被当成空白页的纸是手写的分隔页，另一份被注明不完整的文件，核对后是完整的。

用途也先定了：内部阅读、搜索、找出处，不当成正式文件交给外部单位。

### 为什么要拆成两件事做？

因为「读懂每一页」和「让 PDF 可以搜索」要的输出不同，擅长的工具也不同。

第一件是 AI 逐页转写。把每一页的图像交给大型语言模型（Claude、ChatGPT 这类能看图、会写字的 AI），请它照原样转成有结构的文字：表格还是表格，勾选框照实标出有没有打勾，荧光笔和手写都标出来，看不清楚、没把握的字也要标记。这份文字拿来分类和编代码，也拿来做 Word 文字版。它的限制是不知道每个字在页面上的位置，没办法叠回 PDF 让人搜索、选字。

第二件是 OCR 文字层。OCR 会记下每个字在页面上的位置，在图像上叠一层看不见的字，这就是「文字层」：平常看不到，搜索和复制时才用得到。它的限制是不理解内容，表单、手写和转向的页，常常读成一串乱码。

两份结果还有第三个用处：互相检查。两套工具的原理不同，出错的地方通常也不同，逐页比对之后，对不上的页就是该由人去看的页。

### 转写的规则怎么定？

先挑 5 页最难的试跑：封面、有荧光笔的页、满是勾选框的表单、粗斜体混排的问答页，以及转了 90 度的表格。目视核对过，只错了一个被切掉一截的日期，才送出全部六百多页。给 AI 的指令重点有五条：

- 照原样一字不改，错字也照抄，不修正、不摘要、不翻译，也不补字。
- 标题、清单和表格的结构都保留。
- 勾选框、荧光笔、手写和签名，用固定的记号标出来。
- 页首、印章和页码，也照原位置抄下来。
- 看不清楚的标「看不清」，没把握的字照最可能的读法写，后面加问号。

后面会看到，这些标记正好指出人该看的地方。

<details>
<summary><strong>完整英文指令</strong>　要自己写代码的人再看（点开复制）</summary>

```text
Transcribe this scanned page into GitHub-flavored Markdown, verbatim.

Rules:
- Reproduce every printed word exactly as it appears, including typos, numbering, units, dates and punctuation. Do not correct, summarize, translate, reorder or add anything.
- Keep the structure: headings, numbered and bulleted lists, indentation levels, and tables (use Markdown tables). For complex forms, write one "Field label: value" line per field in reading order.
- Keep emphasis: **bold**, *italic*, <u>underline</u>.
- Checkboxes: [x] for checked, [ ] for unchecked.
- Highlighter marks: wrap the highlighted text in ==double equals==. Handwritten ticks or marks in margins: [handwritten mark].
- Handwriting: transcribe it if legible and prefix it with [handwritten]. Signatures: [signature].
- Fax headers, stamps, page numbers, headers and footers: include them on their own lines, in place.
- Illegible text: [illegible]. A word you are unsure of: write your best reading followed by [?].
- If the page is blank or nearly blank, output exactly: [blank page]
- Output only the transcription. No preface, no comments, no code fences.
```

图像先缩到长边 2,500 像素以内，转成灰阶 JPEG 再送，控制每页的费用。删除线不在指令里，模型照 GitHub Markdown 的写法自己标了出来。

</details>

### 实际花了多少钱？

新增的用量费约 US$7，其中约 US$6 花在 AI 逐页转写，换算每 1,000 页约 US$9.6，一页约 1 美分；云端 OCR 每 1,000 页 US$1.50。

| 步骤 | 工具 | 用量与时间 | 费用 |
|---|---|---|---|
| AI 逐页转写 | Claude Sonnet 5.5，批次送出（不急着要结果时用，半价） | 六百多页分 6 批，5 分钟内全部回来 | 约 US$6.04 |
| 可搜索文字层（第一版） | Tesseract（免费、开源的 OCR 程序） | 在 AI 的云端工作环境上跑约 36 分钟 | 软件免费 |
| 页面方向侦测 | PaddleOCR 的方向判断模型（免费、开源） | 约 4 分钟 | 软件免费 |
| 可搜索文字层（第二版） | Azure 的 Read 模型，直接返回可搜索 PDF | 上传 90 MB，服务器端处理 37 秒 | 牌价约 US$0.95，账单待入账 |

这 7 美元只算按用量付给两家云端服务的钱，不含我原本就在付的 AI 订阅（写代码、组文件、验证的 Claude，以及帮忙审查的 Codex 和 Antigravity），也不含人力时间。没有这类订阅、或要请人写代码的话，要另外算。免费的开源工具，也要有人会安装、会下指令。

转写是按 tokens 计费的。tokens 是 AI 计算文字和图片用量的单位，不等于页数或字数。Sonnet 5.5 批次的单价是每百万 tokens 输入 US$1、输出 US$5（[官方定价](https://platform.claude.com/docs/en/about-claude/pricing)）。这次输入 3,189,072 tokens、输出 569,843 tokens，平均每页约 5,000 和 900，换算每 1,000 页约 US$9.6。页上字越多、图像越细，费用越高；要估自己的文件，最准的方法是试跑 5 页再乘以页数。官方说批次[大多在一小时内完成](https://platform.claude.com/docs/en/build-with-claude/batch-processing)，24 小时内没处理到的请求会过期、不收费；这次五分钟内就全部回来了。

> **📊 关键数据**
> - **AI 逐页转写**：每 1,000 页约 US$9.6（一页约 1 美分）；六百多页约 US$6.04（Claude Sonnet 5.5 批次）
> - **云端 OCR**：每 1,000 页 US$1.50；六百多页约 US$0.95，服务器端处理 37 秒
> - **免费 OCR**：Tesseract 软件免费，跑约 36 分钟（含把 PDF 转成图像）
> - **经过时间**：从下载到第二版约 6 小时，有 AI 代理人写代码，不是第一次做的人的工时估计

这 6 小时大致分成四段：试跑 5 页并核对，约 45 分钟；整批转写和逐页比对，约 45 分钟；决定整理成文件库之后的第一版，约 1 小时 10 分；开云端账号、跑云端 OCR、做出第二版，约 1 个半小时。中间有一段在处理别的事。

### 免费的 Tesseract 和云端 OCR 差多少？

看中位数差不多，看最差的那几页就差很多。

Claude 拿 AI 转写当对照，看两套 OCR 读出来的字，有多少跟转写对得上。只算有连续内文的 557 页：

| | Tesseract（免费） | Azure Read（云端） |
|---|---|---|
| 对得上的比例（中位数） | 98.0% | 99.5% |
| 对不上的字超过一成的页数 | 66 | 3 |
| 比另一套多对上超过 2 个百分点的页数 | 0 | 185 |

中位数只差 1.5 个百分点。Tesseract 有 66 页对不上的字超过一成，换成云端 OCR 只剩 3 页；两套差距超过 2 个百分点的 185 页，全部是云端那一边比较好。

这个比例量的是两套工具的一致度：对照组是 AI 的转写，它自己也可能错，所以拿来挑出该回去看原图的页，不能当成正确率。这也只是一批英文打字文件的结果，中文、直书或大量手写的文件，结果可能完全不同。

![四格漫画：Claude 拿 AI 转写当对照，看两套 OCR 读出来的字，有多少跟转写对得上；只算有连续内文的 557 页。对得上的比例（中位数）：Tesseract（免费）98.0%，Azure Read（云端）99.5%，中位数只差 1.5 个百分点。Tesseract 有 66 页对不上的字超过一成，换成云端 OCR 只剩 3 页。这个比例量的是两套工具的一致度，不能当成正确率；这也只是一批英文打字文件的结果。看中位数差不多，看最差的那几页就差很多。](/images/articles/scan-to-searchable-archive/01-worst-pages-zh-cn.svg)

时间上，Tesseract 在两颗 CPU 的云端工作环境上，转图像加辨识跑了约 36 分钟；云端 OCR 在服务器端只花 37 秒。

### 两套结果怎么互相抓错？

逐页比对，把对不上的页挑出来一页一页看。这次两边都抓到对方的问题。

**OCR 抓到转写的错。** 转写完，Claude 又跑了一份免费 OCR 的全文，两份逐页比对。有一页的转写只剩一行页首，OCR 却读出整页内文：AI 在这一页整页漏掉了，批次结果却显示成功。这一页后来对照原图重新转写。只看转写本身，这种错很难发现。

**转写也抓到 OCR 的问题。** 有两页是手写的表单，免费 OCR 读成一串乱码，转写逐格标出了手写的内容。前面那张表，也是拿转写当尺，才找得出 Tesseract 读得最差的那 66 页。

**转写自己标出没把握的地方。** 转写在两个地方标了不确定：一处是一个标准编号，最后一码没读出来；另一处标了看不清。第一处，云端 OCR 读出完整的编号，信心值 0.948（OCR 对自己读法的把握，最高是 1），放大原图确认是对的。第二处放大原图后，看出是修订追踪的注解编号，跟同一份文件后面的编号连号。

**方向侦测只能当提示。** 开源的方向判断模型标出 7 页没摆正，其中 3 页是真的，另外 4 页它自己的把握都很低，看过全是误判；云端 OCR 回报有角度的页里，也有 2 页只是字写斜了。有标出来的页，都要看一眼再决定转不转。

### 整理成文件库，要定哪些规则？

先定规则，再动手：

- **代码**：每一批用该批文件的日期开头，批内序号照该批自己的清单编；清单上有但扫描里找不到的，也先保留一个代码，这次约有两成的代码是先保留的。日后补来新文件，接得上，也不会打乱旧编号。
- **原件不动**：收到的原始扫描文件放在独立的文件夹，完全不改。整理出来的 PDF 沿用原本的图像，不重新压缩；页码印记印在每页下方另外加的一条窄边上，不盖到原件；横式的页直接用阅读方向组页。
- **分开放**：PDF、Word 文字版和原始扫描各放一个文件夹，避免开错文件。
- **文字版标明身分**：Word 文件方便搜索和复制，但可能有错，每份开头固定一句「引用以 PDF 或原始扫描为准」。
- **总目录**：一份 Excel，放文件清单、每页的文字核对分数、找不到的文件与缺页、跟原索引不同的地方，以及每个文件的「指纹」（SHA-256 杂凑值，用来确认文件传过去之后没有变）。

规则定好、还没动手之前，我请另外两个 AI 工具（OpenAI 的 Codex、Google 的 Antigravity）各自挑错，两边互不知道对方的意见，各提了十几条。上面几条规则，大多是这轮审查之后定下或修过的。Codex 还抓到索引里那封信的日期写错：原件上三个地方的日期都一致，是索引写错了，批次的顺序因此改过。它指出的事实错误，都回头对照原件核实过才采用，做法跟我之前写的[让 codex 挑 Claude 的错，但不照它说了算](/zh-cn/articles/ai-second-opinion-independence)一样。

### 交件前要验什么？

要交给别人用、或要长期存档的话，交件前至少验这几件：

- 每一页都有归属：属于哪份文件、是分隔页，还是重复的影本，逐页对账。
- 整理后 PDF 里的图像，逐张跟原文件比对，完全相同。
- 每一页都搜得到字；抽几页把看不见的字改成红字叠回去，看位置对不对，转向的页一定要抽。
- 文件清单附上每个文件的指纹，传到对方电脑后重算一次，确认没有传坏；压缩文件里不要夹带 Mac 的隐藏文件。

这些检查都是 Claude 写代码跑的。只是自己要搜索的话，抽几页对照原图就够了。验证程序本身也会出错，这次就遇过一次误报，所以检查失败时，量尺和被量的东西都要查。

## 有没有更便宜的 AI 转写，或免费的开源模型？

有，质量要另外试。以下是 2026 年 10 月的官方单价，只有 Sonnet 是我实测的：

| 选项 | 官方单价（批次） | 每 1,000 页（只有 Sonnet 是实测，其他是粗估） | 说明 |
|---|---|---|---|
| Claude Sonnet 5.5 | 每百万 tokens 输入 US$1、输出 US$5 | 约 US$9.6（实测） | 我这次用的 |
| Claude Haiku 5.5 | 每百万 tokens 输入 US$0.05、输出 US$0.25 | 粗估约 US$0.5 | 单价是 Sonnet 的二十分之一；没测，先试跑再换 |
| Claude Opus 5.5 | 每百万 tokens 输入 US$2、输出 US$10 | 粗估约 US$19 | 单价是 Sonnet 的两倍；没测 |
| Gemini 3.1 Flash-Lite | 每百万 tokens 输入 US$0.125、输出 US$0.75 | 粗估约 US$0.8 | 没测；Google [公告](https://ai.google.dev/gemini-api/docs/deprecations)最早 2027 年 5 月 7 日停用 |
| Gemini 3.5 Flash-Lite | 每百万 tokens 输入 US$0.15、输出 US$1.25 | 粗估约 US$1.3 | Google 建议用来取代 3.1 Flash-Lite；没测 |
| Gemini 3.8 Flash | 每百万 tokens 输入 US$0.375、输出 US$1.875 | 粗估约 US$2；2027 年起约 US$4 | 2027 年 1 月起单价加倍，批次价也是；没测 |
| [Mistral OCR 4](https://mistral.ai/news/ocr-4) | 每 1,000 页 US$4，批次 US$2 | US$2 至 4 | 专做文件 OCR，2026 年 6 月推出；没测 |

粗估的前提：每页产出的文字量跟这次一样，约 900 tokens。Claude 的输入沿用这次的每页约 5,000 tokens；Gemini 的 PDF 每页默认 [560 tokens](https://ai.google.dev/gemini-api/docs/media-resolution)，再加上指令约 350 tokens。Gemini 如果开了思考，思考的 tokens 也按输出计价（[Gemini 定价页](https://ai.google.dev/gemini-api/docs/pricing)），表中没有算进去。

单价高低，说明不了质量。便宜的模型会不会漏字、会不会自己补字，只能用自己的文件试：拿那 5 页最难的，同时丢给两个模型，逐字对照原图，再决定整批用哪个。

开源的 AI 辨识模型（olmOCR-2、PaddleOCR-VL 等）授权不用付费，但要有显卡（GPU），或花时间在自己电脑上架设。今年 7 月有一篇针对老旧扫描的评测，最高分的模型也只通过不到一半的检查项，而且其中一类检查会奖励省略信头和印章，要保留原貌的人要看细项（[原文](https://danielvanstrien.xyz/posts/2026/ocr-old-scans/)）。排行榜只能当线索。

## 上传到云端之前，各家的数据政策怎么写？

开头那三个问题，这次用到的两家，官方是这样写的：

- **Azure AI Document Intelligence**：送进去的文件和分析结果，在分析完成后保存 24 小时，之后自动删除，也可以调用 API 提早删（[官方说明](https://learn.microsoft.com/en-us/azure/foundry/responsible-ai/document-intelligence/data-privacy-security)）。会不会拿去训练，这页没有写。
- **Claude API**：商业产品的输入和输出，默认不拿来训练模型（[隐私中心](https://privacy.claude.com/en/articles/7996868-is-my-data-used-for-model-training)）；后端在 30 天内删除，但有例外情形（[保存期限说明](https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-data)）。这两页没提能不能提早删；如果用批处理，[批处理文档](https://platform.claude.com/docs/en/build-with-claude/batch-processing)写着请求和结果最多保存 29 天，处理完可以调用 API 删除那一批，但没写删除后数据是不是立刻清掉。

查数据时另外看到一条：AWS 的 AI 服务可能保存并使用客户内容来改善服务，用途包括训练模型，也可能存到你使用区域以外的机房。Textract 在[名单](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out_all.html#ai-opt-out-all-list)上，要通过 AWS Organizations 的 [AI 服务退出政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)关掉。官方页没写的部分，就是还没确认，不等于安全。

## 照这次的经验，顺序可以怎么排？

回头看，有两步可以省：

- 第一版的 Tesseract 文字层，一个半小时后就被云端 OCR 换掉，第一版也没交出去，直接进了垃圾桶。文件可以上云端的话，一开始就用云端 OCR，可以少做一轮组文件和验证。
- 云端 OCR 本身会回报页面角度。用了它，独立的方向判断模型可以省掉，把有角度的页看一眼就好。

建议的顺序：先挑 5 页最难的试跑，决定转写用哪个模型，便宜的先试；文字层交给云端 OCR，文件不能出门就用 OCRmyPDF；两份结果逐页对照，挑出要人看的页；最后才组文件和验证。

## 收到的原始扫描文件完全没改

收到的原始扫描文件，原封不动放在文件库的独立文件夹里。整理出来的每一份 PDF，都沿用原本的图像，没有重新压缩；多出来的东西都加在图像之外：一层看不见的字、每页下方印着代码的窄边、书签，另外每份配一个 Word 文字文件，最上层一份总目录，标出哪里缺页、哪里跟原索引不同。

不管你走哪一条路，原始文件都另外存一份，所有处理都在副本上做；OCRmyPDF 的转正、拉直选项会调整页面，输出的图像不一定跟原文件相同。下一批扫描进来，照同一套代码接着编，同一支程序再跑一次。更多工具实作的记录，放在「[创造与建构 → 工具与实作](/zh-cn/topics/startup/)」。
