一句话先修: 你的 PDF 加了密码或带权限限制,ChatGPT 的文本抽取器抽到的是零文本,模型只能照着文件名瞎答。先在本地解密:qpdf --decrypt --password=YOUR_PASSWORD file.pdf decrypted.pdf(如果文件不输密码也能打开、只是禁止复制,就去掉 --password),再上传 decrypted.pdf。验证是否成功:让 ChatGPT 一字不差引用第 1 页。
PDF 拖进 ChatGPT,上传转圈结束、文件 chip 出现、没报任何错。然后你问”总结第 3 节”,回答可疑地泛泛:“根据该文件,第 3 节大致涵盖……”——没原文引用、没页码、没具体数字。这份 PDF 加了密码或权限保护,抽取层悄悄失败,模型(截至 2026 年 6 月是 GPT-5.5)其实根本没看到内容。最糟的情况,模型会基于文件名捏造一份听起来合理的总结。
这个问题在公司共享 PDF(DRM)、银行账单(owner password 加权限位)、DocSend / 法律导出件上特别高频。上传本身一般会成功,因为 ChatGPT 接收单文件可达 512 MB(截至 2026 年 6 月,Free 档上限 25 MB),而且它对加密从不拦截——它只是把一份读不了的文件丢给解析器、然后啥也没拿回来。修法是先识别”静默拒绝”的特征,再在本地解密后重传。
你属于哪种情况?
跑一句 qpdf --requires-password file.pdf; echo $? 看退出码,再对照症状:
| 退出码 / 症状 | 含义 | 跳到 |
|---|---|---|
0(打开就要密码) | 设了 user password,不输密码连打开都不行 | 原因 1,修复 Step 3 |
3(加密了,但你给的密码对) | 加密了,且你已提供正确密码 | Step 3 |
2(未加密)但复制被禁 | 只有 owner password / 权限位限制 | 原因 2,修复 Step 4 |
| 第 1 页弹”需要插件”启动屏 | DRM 壳(FileOpen / Vitrium / LiveCycle) | 原因 3,修复 Step 5 |
加密算法字串里有 cert | 对某收件人公钥做了证书加密 | 原因 4 |
| 已签名 + “任何修改将使签名失效” | 签名后锁定的 PDF | 原因 5 |
| 部分页能答、部分页像空的 | 局部图层加密 / redaction | 原因 7,修复 Step 6 |
常见原因
按命中率从高到低:
1. 设置了 user password(不输密码打不开)
PDF 不输密码连打开都不行。上传时抽取层接收字节没问题,但解析器返回零文本。ChatGPT 不弹任何错误。
如何判断:本地跑 qpdf --requires-password file.pdf; echo $?。退出码 0 表示打开就需要密码(即本条)。或在 Preview / Acrobat 里打开——弹密码框 = 这条。
2. 设置了 owner password(能看不能复制 / 抽取)
比 user password 更常见。任何人都能打开看,但复制、打印、文本抽取权限被 owner password 限制。ChatGPT 的抽取器遵守权限位,于是抽出来全是空。
如何判断:本地打开 PDF,按 Cmd-A 再 Cmd-C。选不中或复制无效 = owner password 在生效。
3. DRM / 版权管理壳(Adobe LiveCycle、Vitrium、FileOpen)
企业文档套了 DRM。PDF 技术上加密了,还要求装插件。抽取要么返回空,要么返回一页”需要 FileOpen 插件”的占位。
如何判断:本地打开第一页显示”需要插件”启动屏。或 pdfinfo file.pdf 看到 Encrypted: yes (algorithm: AES-256-R6) 加上 Producer 字段是某个 DRM 厂商名。
4. 证书加密 PDF(需要收件人公钥)
文档对某张特定收件人证书做了加密。只有持对应私钥的人能解密。抽取服务没那张私钥,于是静默失败。
如何判断:pdfinfo file.pdf 看到 Encrypted: yes 算法字串里有 cert,或者这份文件来自公司签发流。
5. 签名后锁定的 PDF(签完只读)
PDF 数字签名之后会锁定不允许任何修改。某些抽取器把锁定理解得很保守,干脆拒绝读取 content stream。
如何判断:PDF 阅读器的签名面板显示”已签名,任何修改将使签名失效”。常和表单填写限制一起出现。
6. zip 包裹的加密 PDF
你传了 report.zip,ChatGPT 解压出 PDF,但 PDF 本身是加密的。静默失败一层叠一层——zip 看起来正常、文件数对、就是内容拿不到。
如何判断:本地解压 zip 没问题,但里面的 PDF 要密码。
7. 局部页 / 图层加密(少见)
某些 redaction 工具只加密特定 content stream,其余正常。抽取器只拿到没加密图层的文本——看起来合理但关键段神秘缺失。
如何判断:ChatGPT 部分问题答对、部分像那几页不存在。本地对照”缺失”的页,会发现是 redaction 区或图层加密。
最短修复路径
Step 1: 先验证抽取是不是空的
问一个闭环问题逼模型引原文:“请用双引号一字不差引第 1 页第 1 句话”。如果它做不到 / 没用引号只在转述 = 抽取返回空。
Step 2: 本地确认加密
qpdf --show-encryption file.pdf
# 或
pdfinfo file.pdf | grep -i encrypt
qpdf --show-encryption 会报出密钥长度,以及逐项权限明细(例如 extract for any purpose: not allowed)。只要看到 User password required: yes、R = 6 / AES-256,或任何 extract / accessibility 权限标成 not allowed,这个限制就是挡住 ChatGPT 解析器的元凶。
Step 3: 有密码就解密
有密码且有权这样做的前提下:
qpdf --decrypt --password=YOUR_PASSWORD file.pdf decrypted.pdf
上传 decrypted.pdf。不要把密码贴进 ChatGPT。如果一整个文件夹的文件共用同一个密码,可以用 find . -name '*.pdf' -exec qpdf --decrypt --password='YOUR_PASSWORD' --replace-input {} \;(注意:--replace-input 是就地覆盖,先留个备份)。
Step 4: 只有 owner password 限制权限位时
文件能正常打开、只有 owner 限制复制 / 抽取:
qpdf --decrypt file.pdf permitted.pdf
qpdf 大多数情况下不需要 owner password 就能去掉 owner-only 权限位(参见 qpdf CLI 文档)。先确认你所在司法辖区和许可允许这样做。
Step 5: DRM 壳的 PDF 直接找原始发件人
DRM 不该由你绕过,也基本绕不过。让文档持有方提供一份未包壳的副本,或者你作为合法读者使用厂商官方”导出为普通 PDF”流程。
Step 6: 实在不行就重新 OCR
如果你能看但不能抽,且有权使用,截图每页本地 OCR:
# macOS: 用 Preview 把每页导出 PNG
brew install tesseract
for f in page-*.png; do tesseract "$f" "${f%.png}" -l eng; done
cat page-*.txt > extracted.txt
改传 extracted.txt。慢,但绕过所有加密。
Step 7: 验证 ChatGPT 这次真看到内容了
重传后再问 Step 1 的闭环问题。能正确引出原句 = 抽取真的成功了。
不是你的锅的部分
ChatGPT 不会主动告诉你”这份文件加密了我读不到”。这个 UX 缺口是 OpenAI 的责任。在它没补之前,只能靠你用”引原文”自己识别静默拒绝。
如果这份 PDF 是公司 DRM、不是你的文档,正确做法是问持有方拿干净版,而不是去绕过你没权限去掉的保护。
容易误诊为
- “今天模型变笨了”——不是,是它根本没收到文本。
- “PDF 太大被截断了”——大 PDF 是截断不是全空。引不出原文 = 加密,不是大小。
- “Custom GPT 指令写错了”——指令救不了空输入。在新对话里传同一个文件验证。
- “扫描件 OCR 失败”——扫描件返回 image 占位,不是零文本;加密件是彻底空。
预防
- 上传任何 PDF 之前先跑一句
qpdf --show-encryption,一秒钟的检查。 - 上传后立刻问”引第 1 页第 1 句”——5 秒烟雾测试,能逮住静默拒绝。
- 本地存一个
decrypt-for-chatgpt.sh脚本包一下qpdf --decrypt,对自己合法持有的文件即开即用。 - 给吃用户上传 PDF 的 Custom GPT / Projects 写说明时,把”先验证加密”写在使用须知里——终端用户不会自己想到去查。
- 别把密码贴进对话。本地解密、上传解密版。
FAQ
- 为什么 ChatGPT 不报错? 抽取服务把”空输出”和”没有有用文本”当成同一条代码路径——和一个白板 PDF 表现一样。UI 那边从来不知道抽取失败了,所以你只看到一个文件 chip、没有任何横幅提示。
- 去掉 owner password 合法吗? 看司法辖区和文档许可。你自己拥有的文档去 owner password 一般没问题,别人的文档你没权这样做。问持有方。
- 能不能把密码贴进对话让 ChatGPT 自己解密? 不能。ChatGPT 的文件管线没有解密这一步——它用不了你输入的密码,你只会白白泄露一个机密。请本地解密、上传解密后的版本。
- 文件在 Preview 里打得开,为什么 ChatGPT 读不了? 打开和抽取是两种不同权限。owner password 可以允许查看、却禁止复制 / 抽取(这种情况下
qpdf --requires-password返回2)。抽取器遵守权限位,于是返回空。 - 改存成 Word、或直接粘贴文本管用吗? 管用——只要你能选中并复制文本,就直接把文字粘进对话,或用一个尊重你访问权限的阅读器导出成
.txt/.docx。这样就完全绕开了加密 PDF。 - 换个模型(Thinking / Pro)能读加密 PDF 吗? 不能。换模型不改变抽取层。加密文件对 GPT-5.5 的每一种模式返回的都是零文本。
Related
- ChatGPT uploaded PDF not analyzed correctly
- ChatGPT handwritten PDF not OCRed
- ChatGPT file type unsupported
- ChatGPT zip archive not extracted
- ChatGPT large document incomplete analysis
- ChatGPT file disappears from conversation
- ChatGPT generated file download failed
- ChatGPT project files not referenced
- ChatGPT file analysis too shallow
- ChatGPT spreadsheet too large truncated
标签: #ChatGPT #ChatGPT 文件 #排查 #排查 #PDF #encryption #password-protected