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,把「這個檔案裡實際上有什麼」變成指令碼或 diff 工具可以處理的形式
每個限制都是明確的,觸及任一限制時會設定 Truncated 而不是直接失敗:格式錯誤或惡意的檔案都無法讓匯出無止盡地執行。IncludeStreamDigests 會為每個串流加上雜湊值,讓兩個檔案不必匯出串流內容即可比較
若要修改物件而不是檢查物件,請將修補操作餵給 SaveAsObjectGraphPatched