Files
doc_ai_frontend/content/blog/zh/2026-02-15-pdf-formula-issues.md

54 lines
3.2 KiB
Markdown
Raw Normal View History

---
title: "我试着从教授的 PDF 里提取公式,结果学到了这些"
description: 一次真实的 PDF 公式提取经历——以及为什么大多数问题都归结为三个根本原因
slug: pdf-formula-issues
date: 2026-02-15
tags: [故障排查, PDF]
---
# 我试着从教授的 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 生成器将方程绘制为图形而非编码为字符。对任何提取工具来说,这些公式是隐形的——只是抽象的几何图形。唯一的办法是将页面渲染为图像,然后对图像进行视觉识别。
## 最终有效的方法
对于教授的扫描讲义,有效的工作流是:
1. 用 Preview 将每页导出为 300 DPI PNG
2. 将 PNG 上传到 TexPixel
3. 不到一秒得到干净的 LaTeX
不是我期望的直接处理 PDF 的工作流,但很可靠。图像识别流程不在乎原文件是扫描的还是数字原生的——它只看像素,读取数学内容。
## 更大的启示
PDF 是展示格式,不是数据格式。它针对外观进行了优化,而不是含义。数学符号在传输过程中尤其容易被损坏——渲染、光栅化、路径转换——以破坏底层结构的方式。
最可靠的信号永远是图像。如果不确定,导出为 PNG让视觉识别来完成工作。
---
关于 PDF 类型、文件限制以及 TexPixel 支持范围的系统性参考,请查看 [PDF 公式提取文档 →](/docs/pdf-extraction)