Mac · 全程在你自己的电脑上 · PDFium + lopdf · 输出带标签 PDF · 带命令行

TagForge:为整个文件夹的 PDF 批量加标签

把一个文件夹的 PDF 交给 TagForge,它会像人一样读每一页:哪几行是标题、段落在哪里结束、哪一块是图片、文字应该按什么顺序读。然后写出带标签的 PDF,并附一份报告,说明自动修好了什么、还有哪些需要人工判断。全部在这台 Mac 上完成:不上传,不需要下载模型,也不按页收费。

US$6.99 一次买断 · 含免费版

版本 1.0.0 · macOS 14 Sonoma 或更新,Apple Silicon · 下载 28 MB · 版面引擎已内置,无需另外下载
一次买断 · 包含 1.x 全部更新 · 14 天全额退款

TagForge 打开一份 96 页的指南:左侧是文档队列,中间是带块边框的页面预览,下面是结构树,右侧是摘要、导出按钮和检查清单

工作方式

  1. 加入文件夹。 里面的 PDF 会依次排进队列。可以拖入文件、选择文件,或者直接选文件夹;Finder 的「打开方式」和 ⌘O 走的都是同一个入口。免费版一次处理一个文件。
  2. 读取版面。 PDFium 给出每一个字符的字体、字号、粗细和包围盒;TagForge 按基线聚成行,按行距和缩进聚成块,再按页面中间的空隙分出栏。标题由正文的中位字号、加粗和编号来判断;页眉页脚由位置和跨页重复识别。每页大约一秒,就在这台 Mac 上。
  3. 复核需要人工的部分。 结构树是一行行的块:改标题级别、把某块标成装饰内容、在阅读顺序里上下移动、给图片写替代文本或清空。替代文本草稿会一直标着「草稿」,直到你确认。
  4. 导出、归档。 带标签的 PDF 写在源文件旁边,同时生成一份 JSON 报告(需要的话还有 HTML 版),逐条列出检查项、涉及的页码,以及留给人工的项目。
TagForge 的起始窗口:三步说明、一个用来拖入 PDF 的方框,以及最近打开过的文档列表

PDF 里多了什么

TagForge 会重写页面内容,并加上读屏软件要找的那套结构:

写报告之前,TagForge 会重新打开自己的输出:页数必须一致,归一化后的文字哈希必须一致,FPDFCatalog_IsTagged() 必须为真,结构树里的子元素数量必须对得上。任何一项不通过,它宁可报错,也不会把文件交给你。

一份可以放进卷宗的报告

每份文档旁边都有一份 JSON 报告,逐项检查、逐条带页码。HTML 版内容相同,只是排给人看:哪些已经自动修好、哪些需要人工、哪些被有意留空。免费版的报告带「Free version」水印,并注明只检查了前 10 页。

TagForge 不宣称结果「通过了 PDF/UA」。它只做版面能证明的四件事——标记内容、结构树、页眉页脚的装饰标记、阅读顺序——其余逐条列出,让签署无障碍声明的人清楚还差什么。

留给人工的部分

有些事只靠页面推断,诚实地说做不到。这些会进人工复核清单,而不是猜一个答案:

免费版与授权

下载的就是完整应用。没有授权时,一次打开一个文件,检查前 10 页,报告带水印——足够用你自己的文档看清它到底会做什么。

免费版授权版
同时处理的文件一个整个文件夹
每个文件检查的页数前 10 页全部页面
结构树与复核✓✓
报告(JSON 与 HTML)带水印✓
导出带标签 PDF—✓
命令行(fix)—✓
更新✓1.x 全部更新
价格免费US$6.99,一次

文档留在你的 Mac 上

不上传、不注册、不数额度。TagForge 不会把 PDF、文件名或抽出的一个字发到任何地方。它只做两类网络请求:每天一次更新检查,从 swordfishsoft.org 取新版本列表和已退款订单列表——所有人取的是同一份文件,除此之外没有别的。更新检查可以在设置里关掉。读取、加标签和导出完全不需要联网。详见隐私政策。

命令行与 AI 助手

TagForge 附带 tagforge,与应用共用同一个引擎。可以在终端里扫描整个文件夹,把修好的文件写到另一个目录,也可以交给能在你 Mac 上执行命令的 AI 助手,比如 Claude Code 或 Codex。

tagforge scan *.pdf                              # 只看它读到了什么,不写文件
tagforge scan report.pdf --json                  # JSON Lines,每个文件一行
tagforge fix *.pdf --out-dir remediated --html    # 带标签 PDF + JSON + HTML 报告
tagforge fix annual-report.pdf --out tagged.pdf --overwrite
tagforge report *.pdf --out-dir findings --html   # 只出报告,不加标签
tagforge license SFS1-…                           # 为这台 Mac 保存授权码
tagforge license --status

给 AI 助手的提示词

我的 Mac 上装了 TagForge。它给 PDF 加带标签结构,完全离线,用的是 PDFium 和 lopdf,并且带一个命令行工具:
"/Applications/TagForge.app/Contents/Helpers/tagforge"
(如果把命令装进了 PATH,也可以直接写 tagforge)。先用 --help 看用法。参数:
  tagforge scan FILE... [--json] [--pages N] [--lang zh-CN|en-US]
  tagforge fix FILE... [--out-dir DIR] [--out FILE] [--html] [--lang ...] [--overwrite]
  tagforge report FILE... [--out-dir DIR] [--html]
  tagforge license [KEY] | --status | --remove
加 --json 时所有命令输出 JSON Lines。不给 --out-dir 或 --out 时,fix 在输入旁边写 .tagged.pdf 和 .tagforge.json;report 写 .tagforge.json。输入 PDF 永远不被修改;已有输出默认跳过,除非给 --overwrite。
退出码:0 成功,1 成功但有需要人工的项目,2 无法运行,3 需要授权,4 输出校验失败,5 已取消。进度写到 stderr,全程不等待输入。
结构是从页面几何推断的:表格、表单、扫描页、复杂分栏和每一段替代文本草稿,仍然需要我自己复核。如果说需要授权,请直接告诉我,不要绕过。不要删除或移动我的文件。
我的任务: 

scan、report 和 license 不需要授权即可使用;fix 需要授权。免费版应用里的报告只覆盖前 10 页。

购买流程

  1. 先下载、先用免费版。 打开磁盘映像,把 TagForge 拖进「应用程序」,拿自己的一份 PDF 跑一遍:结构树、复核界面和不带水印的报告都在。
  2. 在本页购买授权。 结账由我们的转售商 Paddle 完成,可以刷卡、用 PayPal 或结账页上的其他方式,适用地区会加税。
  3. 复制授权码。 付款成功后会立即显示在本页,同时也会发到你的邮箱。把它粘进 TagForge → 设置 → 授权,限制就没了。

授权码丢了?用付款时的邮箱发信到 [email protected],我们会重发。

常见问题

用它能通过 PDF/UA 吗?

TagForge 不作这个承诺,也没有工具能只看页面就保证合规。它加上并校验机械性的部分——标记内容、结构树、页眉页脚的装饰标记、Tab 顺序、语言、文档标题——其余逐条写进报告并标明页码,由人来收尾,也由人来说明做过什么。

导出的 PDF 到底哪里不一样?

页面内容被重写:每个文本对象放进带 MCID 的标记内容序列,图片成为 Figure,跨页的页眉页脚标成装饰内容;同时加上结构树、ParentTree 和每页的 StructParents,以及 /Tabs /S、/MarkInfo、/Lang 和 /ViewerPreferences。看得见的页面不变:写完之后,TagForge 会重新打开输出,确认页数和归一化后的文字完全一致。

PDF 本来就已经带标签怎么办?

报告里会写出来,并且不会重新打标签:在已有结构树上再叠一层,比没有更糟。需要修复的话请用别的工具处理。

它认错了,我能改吗?

可以,在导出之前。点页面上的块或结构树里的一行,在标题各级、段落、图片和装饰内容之间切换,在阅读顺序里上下移动,编辑或清空替代文本。结构顺眼了再导出。

替代文本是什么样的?

是草稿,而不是把猜测当成描述。图片下方有图注就用图注,否则用同一块里最近的句子,结果标着「草稿」;报告会逐张列出图片和页码。2–3B 的视觉模型留给后续版本,不是这一版。

能读扫描件吗?

不能。没有文字层的页面没有东西可标,会进人工复核清单。OCR 不是 1.0 的功能。

表格和表单呢?

都留给人工。TagForge 会标记内容、给出阅读顺序,但表头单元格和表单域的标签需要人来判断,报告里按页写明。

免费版的限制怎么算?

一次一个文件、每个文件前 10 页、报告带水印、不能导出带标签 PDF。没有按月重置:限制属于版本,不是一个试用计时器。授权后这四条限制在这台 Mac 上全部解除。

一个文件夹要跑多久?

M 系列 Mac 上每页约一秒,96 页的报告远不到两分钟。加标签时会写出检查过的页面,并在报告成功之前校验结果。

支持哪些 Mac?

Apple Silicon(M1 及以后)、macOS 14 Sonoma 或更新。不支持 Intel Mac。

有 Windows 版吗?

暂时没有。问的人够多我们就做,同一份授权同样通用。可以发信到 [email protected]。

macOS 问我要不要打开,这正常吗?

正常。第一次打开任何从网站下载的应用,macOS 都会问一次。确认提示里写着 Apple 已检查且未发现恶意软件,然后点「打开」:应用有我们的 Apple Developer ID 签名,并经过 Apple 公证。

用着不合适怎么办?

每次购买都有14 天全额退款。