ChatGPT 读不了 PDF——空文件 / 没看到内容

上传 PDF 后说"没看到内容"或 'No text could be extracted'?多半是扫描件、文件过大、加密。最快修法见正文。

最快修法: 如果 ChatGPT 说看不到你的 PDF,或者直接报 No text could be extracted from this file.,那这个 PDF 几乎肯定是没有文本层的扫描件。30 秒确认一下(打开文件,Cmd+A / Ctrl+A 全选,复制,再粘贴——粘不出任何文字就是扫描件),然后要么先 OCR 再重新上传,要么把每页导出成 PNG 图片、直接上传图片。走图片这条路有效,是因为 ChatGPT 的视觉模型读图片远比读纯图扫描 PDF 可靠。

上传 PDF 时真实发生的事:上传 → ChatGPT 服务端跑 PDF parser 抽取文本层 → 把抽到的文本拼进你的 prompt 发给模型。截至 2026 年 6 月,GPT-5.5 在文本层为空时有时会用视觉 / OCR 兜底,但这个兜底不稳定、还分账号档位——在网页版上经常不触发,免费档尤其如此。所以”读不出内容”几乎总是卡在抽取这一步:没有文本层、文件太大被截断、或被加密挡住。

下面 5 个原因覆盖了 95% 以上情形,按命中率从高到低排。

先对号入座

你看到的现象最可能的原因跳到
上传后立刻报 No text could be extracted from this file.扫描件 / 纯图 PDF(无文本层)原因 1 / Step 2
前面几页读得到,后面的内容却说”文件里没有”被截断——太大超出 token 预算原因 2 / Step 3
提示”无法读取此文件”或弹密码框加密 / DRM / 禁止复制原因 3 / Step 4
抽出乱码、\frac{}{}、表格顺序错乱编码异常 / 大量公式 / 老 PDF原因 4 / Step 5
之前能读,现在忽略这个文件单对话挂的文件太多原因 5 / Step 6

常见原因

1. PDF 是扫描件(纯图片,无文本层)

扫描的合同、拍照的发票、把图片塞进 PDF 的电子书——打开能看到字,但里面没有可抽取的文本流,parser 抽出来是空。这种情况就会触发那条原文报错 No text could be extracted from this file.

截至 2026 年 6 月,ChatGPT 可能会用视觉模型尝试 OCR,但在网页版上这个兜底不可靠、经常被跳过,所以扫描件就当成”上传前必须先处理”的文件来对待。

如何判断:用 Preview / Acrobat 打开 PDF,Cmd+A(Mac)或 Ctrl+A(Windows)全选,复制,粘到记事本。

  • 能粘出文字 → 有文本层,问题在别处
  • 粘出来全是空白或乱码 → 是扫描件,必须先 OCR(Step 2)

2. 文件太大被截断

ChatGPT 单文件上传上限是 512 MB,但文本抽取受一个紧得多的 token 预算约束(截至 2026 年 6 月,单文件抽取文本约 200 万 token 上限,再叠加整段对话的 context)。粗略估算:超过 50 页的 PDF 容易在中段被截断;100+ 页的几乎必然只读到前 30–40%。

模型压根没看到你问的那部分时,会回答”文件里没有这部分”——其实是它没读到。

如何判断:问”请从头到尾列出文件的目录 / 标题层级”。如果只列了前几节,就是被截断。

3. PDF 有密码 / DRM / 复制限制

带密码的 PDF 可以上传,但 parser 不会去解密,直接返回”无法读取”。某些出版社 DRM 保护的电子书即使没有打开密码也一样——因为复制被禁用了。

如何判断:本地打开看是否弹密码框;或查看 File → Properties → Security,看有没有”密码保护”或”禁止复制”标记。

4. 文本编码异常 / 含大量公式 / 老 PDF

某些老软件生成的 PDF 把字体嵌入了却没保留编码映射,抽出来是乱码 ASCII 串。数学论文里大量 LaTeX 公式 → 抽出来全是 \frac{}{}。表格大量合并单元格 → 行序错乱。

如何判断:让模型”逐字复述文件第 1 页第一段”。复述出乱码 / 缺字 = 编码问题。

5. 单对话已经塞太多文件

截至 2026 年 6 月,ChatGPT Plus 单条消息最多挂 20 个文件,每滚动 3 小时窗口约 80 个文件,且抽出来的文本总和仍要塞进模型 context。一个对话里堆好几个大 PDF,前面几个的内容就可能被挤出 context。

如何判断:开新对话只上传这一个 PDF。能读 = 是堆积问题。

最短修复路径

按耗时从短到长。

Step 1:30 秒确认是不是扫描件

用 Preview / Acrobat 打开 → Cmd+A / Ctrl+A → 复制 → 粘到记事本。

  • 全空白 → 扫描件,跳 Step 2(OCR)
  • 有文本 → 跳 Step 3(看大小)

Step 2:先 OCR 再上传(或者直接上传图片)

方案 A——用 OCR 加一层文本,再重新上传:

  • macOS Preview:打开 PDF → File → Export… → 格式选 PDF → 勾选 “Apply OCR”(macOS 14 Sonoma 及以上)
  • 在线ilovepdf.com/ocr_pdf 或 Adobe Acrobat 网页版
  • 专业:ABBYY FineReader(付费,中英混排扫描精度最高)
  • 本地命令行ocrmypdf input.pdf output.pdf -l chi_sim+eng(开源,准确率不错;brew install ocrmypdf 安装)

方案 B——干脆不 OCR,直接传页面图片。 把每页导出成 PNG(Preview:File → Export…,格式选 PNG;或任意”PDF 转图片”工具),然后上传图片而不是 PDF。ChatGPT 的视觉模型读 PNG / JPEG 远比读纯图 PDF 可靠,所以 PDF 失败时这招常常一次就成。注意每张图控制在 20 MB 图片上限内,一次传几张。

OCR 不是完美的——长公式、手写、模糊扫描可能仍需导出 .txt 再人工校对一遍。

Step 3:拆 / 压

如果 PDF 大于 50 页:

# macOS:用 pdftk 拆
brew install pdftk-java
pdftk input.pdf cat 1-30 output part1.pdf
pdftk input.pdf cat 31-60 output part2.pdf

或直接在 Preview 里:选中页面缩略图 → 右键”Export selected pages”。

把每一段单独传,让模型分段总结,最后让它把所有段落总结合并成一份全文摘要。

Step 4:去密码再上传

  • macOS Preview:打开 PDF(输入密码)→ File → Export as PDF → 不勾”Encrypt”
  • 在线smallpdf.com/unlock-pdf(注意隐私,机密文件别用)
  • 命令行qpdf --decrypt --password=YOUR input.pdf out.pdf

Step 5:编码 / 复杂排版问题——转纯文本贴

如果 PDF 抽不出干净文本,最后手段:

  1. Preview 选中文本复制进 .txt 文件
  2. 或用 pdftotext input.pdf output.txt(来自 poppler)、Pandoc 转 Markdown
  3. 直接把内容粘进对话框(每次约 4000 字符;长段落分几次粘)

模型读干净纯文本比读复杂 PDF 准多了。

Step 6:开新对话单独传

如果当前对话已经挂了好几个文件,开个新对话只挂这一个 PDF(每对话文件上限见原因 5)。

如何确认已修好

重新上传后,别问笼统的”帮我总结一下”。要问一个只有文档靠后部分才能回答的问题——比如”复述最后一页的最后一句”或”最后一张表里的数字是多少”。模型答对了,说明全文都进去了。如果它能复述第 1 页、却答不出结尾,那还是被截断了(回到 Step 3)。

预防建议

  • 扫描件先本地 OCR 再上传——不要等到出错才补救
  • 200 页大文档拆成 30–40 页一段,分段总结再合并
  • 关键结论另存笔记——对话变长后 context 可能丢
  • 含敏感信息的合同 / 财报,OCR 前先脱敏
  • 长期处理长文档,用 Projects,让持久参考文件存在单次对话的 context 之外

常见问题

为什么 ChatGPT 报 “No text could be extracted from this file”? 这个 PDF 没有可被机器读取的文本层——是扫描件或纯图文件。ChatGPT 去抽文本层、抽到空,就停了。先 OCR,或把页面导出成 PNG 图片再传(Step 2)。

2026 年 ChatGPT 现在能读扫描件了吗? 有时能。GPT-5.5 有视觉 / OCR 兜底,但在网页版上不稳定、还分档位——经常不触发,免费档尤其如此。稳妥做法仍是自己先 OCR,或上传页面图片而不是扫描 PDF。

长 PDF 只读了前面一部分,为什么? 文本抽取受 token 预算约束,不只是 512 MB 文件大小那道关。超过约 50 页常被截断。拆成 30–40 页一段,分段总结再合并(Step 3)。

现在的文件上限是多少? 截至 2026 年 6 月:单文件最大 512 MB,图片最大 20 MB,表格最大 50 MB;抽取文本约 200 万 token 上限;Plus 单条消息约 20 个文件、每滚动 3 小时窗口约 80 个文件。

PDF 带密码,怎么让 ChatGPT 读? 先去掉加密——在 Preview 里打开后重新导出、不勾”Encrypt”,或运行 qpdf --decrypt --password=YOUR input.pdf out.pdf(Step 4)。parser 不会替你解密。

相关阅读

标签: #ChatGPT #排查 #排查