- Delete blog/copy-math-to-word (EN+ZH) — identical to docs/copy-to-word - Rewrite blog/pdf-formula-issues as narrative troubleshooting story; operational steps now link out to docs/pdf-extraction - Add "Further reading" cross-links: 4 docs → relevant blog posts - Add "See also" cross-links: 3 blog posts → relevant docs Docs = product reference; Blog = narrative/use cases/opinions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.2 KiB
title, description, slug, date, tags
| title | description | slug | date | tags | ||
|---|---|---|---|---|---|---|
| 我试着从教授的 PDF 里提取公式,结果学到了这些 | 一次真实的 PDF 公式提取经历——以及为什么大多数问题都归结为三个根本原因 | pdf-formula-issues | 2026-02-15 |
|
我试着从教授的 PDF 里提取公式,结果学到了这些
上学期我在啃一份 200 页的讲义 PDF——那种从印刷胶片扫描而来、作为附件发出来、每页都略微倾斜的类型。我想把关键方程提取到自己的笔记里。接下来发生的事,让我深刻理解了 PDF 究竟是怎么存储(或者说不存储)数学内容的。
第一个意外:不是所有 PDF 都一样
我天真地以为"有公式的 PDF"就意味着"可以提取的公式"。并非如此。
学术圈里流传着至少三种根本不同的 PDF,它们的行为完全不同:
数字原生 PDF(由 LaTeX、Word 或排版软件生成)包含真正的矢量数学内容。从这类 PDF 提取速度快、准确率 95% 以上——公式结构本质上已经在那里了。
扫描 PDF 只是打印页面的照片,被包装进一个容器。没有文字层。提取依赖图像识别,准确率完全取决于扫描质量。教授的讲义就是这种。
混合 PDF 是扫描后由 OCR 软件添加文字层的 PDF。质量参差不齐——有时很好,有时"文字层"完全是错的。这类 PDF 最难预测。
大多数失败的三个根本原因
经过大量尝试和失败,我发现提取失败几乎总是归结为以下三种情况之一:
1. 分辨率。 扫描时用了 150 DPI 而不是 300 DPI。低分辨率下,小符号——下标、撇号、点——只有几个像素宽。模型无法可靠区分 \prime 和一个杂散的污点。提高到 300 DPI 重新扫描,解决了一半以上的问题。
2. 加密。 部分 PDF 有密码保护或内容限制,阻止任何工具读取内容流。PDF 看起来打开正常,但没有工具能从中提取。移除密码(在 Preview 中选择"文件 → 导出为 PDF",不勾选密码锁)解决了这个问题。
3. 公式存储为矢量路径。 部分 PDF 生成器将方程绘制为图形而非编码为字符。对任何提取工具来说,这些公式是隐形的——只是抽象的几何图形。唯一的办法是将页面渲染为图像,然后对图像进行视觉识别。
最终有效的方法
对于教授的扫描讲义,有效的工作流是:
- 用 Preview 将每页导出为 300 DPI PNG
- 将 PNG 上传到 TexPixel
- 不到一秒得到干净的 LaTeX
不是我期望的直接处理 PDF 的工作流,但很可靠。图像识别流程不在乎原文件是扫描的还是数字原生的——它只看像素,读取数学内容。
更大的启示
PDF 是展示格式,不是数据格式。它针对外观进行了优化,而不是含义。数学符号在传输过程中尤其容易被损坏——渲染、光栅化、路径转换——以破坏底层结构的方式。
最可靠的信号永远是图像。如果不确定,导出为 PNG,让视觉识别来完成工作。
关于 PDF 类型、文件限制以及 TexPixel 支持范围的系统性参考,请查看 PDF 公式提取文档 →