function ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): Boolean;
| Stream | TStream。JSON 输出的目的地。nil 会引发 EPdfError |
| Options | TPdfObjectGraphInspectOptions。遍历的界限:MaxObjects、MaxDepth、MaxOutputBytes、MaxStringBytes 和 IncludeStreamDigests。TPdfObjectGraphInspectOptions.Default 提供可用的起点 |
| Report | TPdfObjectGraphReport。接收字节和对象计数、Truncated 标志、Succeeded 和 ErrorMessage |
| Result | Boolean。导出完成时为 True,与 Report.Succeeded 匹配 |
将文档的间接对象——字典、数组、名称、数字和流头——序列化为 JSON,把"这个文件里实际有什么"变成脚本或差异比较可以处理的东西
每个限制都是显式的,触及其中一个会设置 Truncated 而非失败:格式错误或恶意的文件不能让导出无界运行。IncludeStreamDigests 为每个流添加一个哈希,这样无需导出流内容就能比较两个文件
要修改对象而非检查对象,把补丁操作交给 SaveAsObjectGraphPatched