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;
Korijenski objekt, broj aktivnih objekata, izvezeni objekti i stanje skraćivanja ispuštaju se u verzioniranoj omotnici pdf-object-graph-v1
Svaka vrijednost prepoznaje se kao rječnik, niz, literalni ili heksadecimalni string, ime, referenca, null, Boolean, cijeli broj, realni broj ili ključna riječ
Tokovi izlažu svoj broj kodiranih bajtova i, kada je omogućeno, SHA-256 sažetak dok njihov teret ostaje izostavljen
Izravni objekti i članovi materijalizirani iz ObjStm kontejnera koriste isti prikaz
| MaxObjects | Maksimalan broj aktivnih objekata zapisanih prije nego što JSON omotnica prijavi truncated: true |
| MaxDepth | Maksimalna dubina ugniježđenih nizova i rječnika od 1 do 32 |
| MaxOutputBytes | Tvrda gornja granica za cijeli UTF-8-kompatibilni JSON tok bajtova |
| MaxStringBytes | Maksimalan broj bajtova zadržanih iz jednog PDF stringa ili imena |
| IncludeStreamDigests | Izračunava SHA-256 nad kodiranim bajtovima toka bez dekodiranja ili izvoza tereta |
Svaka TPdfObjectPatchOperation odabire točan broj objekta, generaciju i ključ rječnika najviše razine, a zatim taj ključ postavlja ili uklanja
Operacije postavljanja prihvaćaju tipizirane vrijednosti null, Boolean, cijeli broj, realni broj, ime, tekstualni string ili neizravnu referencu i nikad ne prihvaćaju sirovu PDF sintaksu
Svi identiteti objekata, generacije, reference, imena, duplicirane operacije i ciljni rječnici validiraju se prije isporuke izlaza
Ključevi duljine toka i lanca filtara ne mogu se zakrpiti jer bi njihova promjena neovisno od kodiranih bajtova oštetila tok
Zapisivač dodaje jednu inkrementalnu reviziju, rekonstruira rezultirajući aktivni graf, učitava ga strogo kroz PDFium i tek tada zapisuje strujanje pozivatelja ili atomarno zamjenjuje datoteku
AllowSignedDocument izričito omogućeno
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);