← PDF工具

验证 PDF

未选择 PDF检查 PDF 结构并生成验证报告。
ValidationPDF 会在所有工具之间共享。

如何判断 PDF 是否存在结构错误

这里检查 PDF 的对象、页面树和交叉引用结构,并生成可复制或下载的文字报告。检查采用宽松模式,不修改原 PDF。通过结构检查不代表页面显示、印刷标准或数字签名也已通过验证。

费用: 可免费使用。文件大小和使用次数有上限。

检查 PDF 的步骤

  1. 上传一份 PDF

    点击 选择 PDF 或 上传 PDF,也可将文件拖入预览区。界面标示的上限为 200 MB。其他工具用过的 PDF 可以从 上传文件 中选择。

  2. 确认源文件

    源 PDF 显示文件名和大小,预览区显示页面。即使预览无法显示这份 PDF,仍可提交结构检查。

  3. 开始验证

    点击 验证 PDF。这个工具没有需要选择的设置;服务器完成检查后,预览区会显示报告。

  4. 查看报告末尾

    末尾的 validation ok 表示未发现结构错误。若末尾是错误信息,请根据下方说明判断问题;前面的提示不一定表示验证失败。

  5. 复制或下载报告

    复制 将报告放入剪贴板,便于附在问题反馈中。下载报告 保存 TXT 文件。原 PDF 不会被修改。

报告信息怎么看

报告来自执行检查的开源 PDF 工具 pdfcpu,是纯文本。validating(mode=relaxed) 表示宽松检查模式,末尾给出结果。读取文件时产生的说明或 PDF 2.0 提示也可能出现在报告中。

validation ok

在宽松模式允许的范围内,文档对象、交叉引用数据和必需条目通过了结构检查。这个结果并非完整的 PDF 合规认证。

validation error (obj#:…): …

文件可以读取,但某个部分不符合检查规则。dict=pageDict required entry=MediaBox missing 表示页面缺少尺寸信息;validatePages: page tree invalid 表示页面树不一致,例如声明的页数与实际页面不符;validateFontDict: missing Subtype 表示字体定义缺少类型。

Read: xRefTable failed: …

读取器无法解析文档结构。记录对象位置的交叉引用数据可能损坏,也可能有对象被截断。no matching %%EOF for startxref 表示找不到所需的文件结束标记。请确认收到的是完整文件,再从来源获取一份新副本。

pdfcpu skipped: 与 pdfcpu repaired:

这些是读取过程的说明。skipped: missing obj #12 表示索引所指位置没有预期对象;repaired: 表示读取器在内存中作了修复以继续检查,并未改写原文件。连续出现多条 missing obj 可能说明索引位置整体不符,例如文件传输时换行符发生了变化。

please provide the correct password

文件设有打开密码。如果知道密码,先用 PDF 解锁 去除,再检查解锁后的副本。仅限制打印或复制的 PDF 可以直接检查。

Catalog: missing root dict

未找到文档目录这一根对象,它负责指向页面。文件可能只是开头看起来像 PDF,实际内容不是 PDF;也可能已严重损坏。

PDF 2.0 提示

声明为 PDF 2.0 的文件会出现框状提示,说明 pdfcpu 仅提供基础 PDF 2.0 支持。该提示本身不是错误,检查结果在后面。

检查范围与结果的限制

PDF 由带编号的页面、字体、图像等对象组成。交叉引用表记录对象位置,文件尾部的信息指向文档目录。检查会读取这些结构,依据 ISO 32000-1:2008(PDF 1.7)规则验证,并对 PDF 2.0 作基础检查。

本工具固定使用宽松模式。它沿用结构规则,但容许部分常见偏差,例如文档目录缺少 /Type,或数据流声明的 /Length 不正确。页面上没有严格/宽松模式切换。

检查不会解码页面内容或图像数据,所以损坏的图像或绘图仍可能通过。它也不检查 PDF/A、PDF/X、无障碍合规、数字签名、字体是否嵌入或链接是否有效。如需这些结果,应使用相应的专业预检工具。

遇到结构问题,可先从原始文档重新导出或保存 PDF;若下载不完整,则重新获取文件。打印为 PDF 也会创建新文件,但可能将可填写的表单变为普通页面内容,并丢失链接或书签。选择这种方式前,应考虑是否还需要这些功能。

格式与限制

输入格式
PDF。带打开密码的文件须先解锁;仅限制打印或复制的文件可以检查。
输出
页面中的纯文本报告;可用 复制 或 下载报告 保存为 TXT。
原 PDF
只读取,不修改,也不生成新的 PDF。
文件大小上限
200 MiB(209,715,200 字节;界面标示 200 MB)。
每次处理
1 份 PDF。
设置
无可选设置;固定使用宽松模式,检查 PDF 1.7 结构并提供基础 PDF 2.0 支持。
处理方式
服务器本地运行 pdfcpu,不调用外部或 AI 服务。单次任务的服务器处理时限为 15 分钟。
水印
不添加水印。
存储期限
游客的上传文件和报告在 48 小时后自动删除,免费账户为 30 天;付费方案可按方案保留更久。

常见问题

PDF 能正常打开,为什么报告仍有错误?

阅读器可能自行重建损坏的交叉引用表,或略过缺失条目,因此看起来能打开。结构检查会报告这些问题;更严格的印刷系统、归档系统或 PDF 库可能拒绝同一文件。重要文件应从来源重新导出后检查。

报告显示 validation ok,为什么页面仍不正常?

检查针对结构,不验证页面实际显示效果。图像和绘图数据没有被解码,损坏的数据可能通过结构检查。请在阅读器中逐页查看,并在实际要使用该文件的软件中确认显示效果。

为什么只报告一个错误?

检查遇到第一个不符合规则的地方就会停止。处理该问题后,例如从原始文档重新导出,再检查一次,才能确认是否还有其他错误。

验证会修复或改写 PDF 吗?

不会。文件只被读取,上传文件 中的原 PDF 保持不变;新增的是文字报告。检查通过后,可用 PDF 信息 查看版本、页数等详情。

PDF 会发送给外部服务吗?

不会。验证在本网站服务器上运行 pdfcpu,不使用 AI 或第三方服务。上传文件和报告按上述账户存储期限自动删除。