PDF 拖进 ChatGPT,上传转圈结束、文件 chip 出现、没报任何错。然后你问”总结第 3 节”,回答可疑地泛泛:“根据该文件,第 3 节大致涵盖……”——没原文引用、没页码、没具体数字。这份 PDF 加了密码或权限保护,抽取层悄悄失败,模型其实根本没看到内容。最糟的情况,模型会基于文件名捏造一份听起来合理的总结。
这个问题在公司共享 PDF(DRM)、银行账单(owner password + 权限位)、DocSend / 法律导出件上特别高频。修法是先识别”静默拒绝”的特征,再在本地解密后重传。
常见原因
按命中率从高到低:
1. 设置了 user password(不输密码打不开)
PDF 不输密码连打开都不行。上传时抽取层接收字节没问题,但解析器返回零文本。ChatGPT 不弹任何错误。
如何判断:本地跑 qpdf --is-encrypted file.pdf && echo ENCRYPTED。或在 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
看到 User password required: yes 或 Encryption: AES-256 加严格权限位 = 找对地方了。
Step 3: 有密码就解密
有密码且有权这样做的前提下:
qpdf --password=YOUR_PASSWORD --decrypt file.pdf decrypted.pdf
上传 decrypted.pdf。不要把密码贴进 ChatGPT。
Step 4: 只有 owner password 限制权限位时
文件能正常打开、只有 owner 限制复制 / 抽取:
qpdf --decrypt file.pdf permitted.pdf
qpdf 大多数情况下不需要 owner password 就能去掉 owner-only 权限位。先确认你所在司法辖区和许可允许这样做。
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 那边从来不知道抽取失败了。
- 去掉 owner password 合法吗? 看司法辖区和文档许可。你自己拥有的文档去 owner password 一般没问题,别人的文档你没权这样做。问持有方。
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