function ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): Boolean;
function SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): Boolean;
Đối tượng gốc, số đối tượng đang hoạt động, các đối tượng đã xuất, và trạng thái cắt cụt được phát trong phong bì có phiên bản pdf-object-graph-v1
Mỗi giá trị được định danh là từ điển, mảng, chuỗi literal hoặc thập lục phân, tên, tham chiếu, null, Boolean, integer, real, hoặc keyword
Các luồng phơi bày số byte đã mã hóa và, khi được bật, một digest SHA-256, trong khi phần payload của chúng vẫn bị bỏ qua
Các đối tượng trực tiếp và thành viên được vật chất hóa từ các container ObjStm dùng cùng cách biểu diễn
| MaxObjects | Số đối tượng đang hoạt động tối đa được ghi trước khi phong bì JSON báo truncated: true |
| MaxDepth | Độ sâu lồng nhau tối đa của mảng và từ điển, từ 1 đến 32 |
| MaxOutputBytes | Giới hạn trên cứng cho toàn bộ luồng byte JSON tương thích UTF-8 |
| MaxStringBytes | Số byte tối đa được giữ từ một chuỗi hoặc tên PDF |
| IncludeStreamDigests | Tính SHA-256 trên các byte luồng đã mã hóa mà không giải mã hay xuất payload |
Mỗi TPdfObjectPatchOperation chọn một số đối tượng, số thế hệ và khóa từ điển cấp trên cùng chính xác, rồi đặt hoặc gỡ khóa đó
Các thao tác set chấp nhận giá trị null, Boolean, integer, real, name, text string, hoặc tham chiếu gián tiếp có kiểu, và không bao giờ chấp nhận cú pháp PDF thô
Mọi định danh đối tượng, số thế hệ, tham chiếu, tên, thao tác trùng lặp, và từ điển đích đều được thẩm định trước khi đầu ra được giao
Khóa độ dài luồng và chuỗi bộ lọc không thể được vá, vì thay đổi chúng độc lập với các byte đã mã hóa sẽ làm hỏng luồng
Bộ ghi nối thêm một bản sửa đổi tăng dần, dựng lại đồ thị hoạt động thu được, tải nó ở chế độ strict qua PDFium, và chỉ khi đó mới ghi luồng của bên gọi hoặc thay thế tệp một cách nguyên tử
AllowSignedDocument được bật rõ ràng
Options := TPdfObjectGraphInspectOptions.Default;
Pdf.ExportObjectGraph(JsonStream, Options, Report);
SetLength(Operations, 1);
Operations[0].Kind := popSet;
Operations[0].ObjectNumber := CatalogObjectNumber;
Operations[0].Generation := 0;
Operations[0].Key := 'Lang';
Operations[0].Value.Kind := povTextString;
Operations[0].Value.TextValue := 'en-US';
Pdf.SaveAsObjectGraphPatched('patched.pdf', Operations, Report);