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;
Το ριζικό αντικείμενο, το πλήθος ενεργών αντικειμένων, τα εξαγόμενα αντικείμενα και η κατάσταση περικοπής εκπέμπονται στο φάκελο pdf-object-graph-v1
Κάθε τιμή αναγνωρίζεται ως λεξικό, πίνακας, literal ή δεκαεξαδική συμβολοσειρά, όνομα, αναφορά, null, Boolean, ακέραιος, πραγματικός ή λέξη-κλειδί
Ροές εκθέτουν το κωδικοποιημένο πλήθος byte και, όταν ενεργοποιείται, SHA-256 digest ενώ το payload τους παραμένει παραλειπόμενο
Άμεσα αντικείμενα και μέλη από δοχεία ObjStm χρησιμοποιούν την ίδια αναπαράσταση
| MaxObjects | Μέγιστα ενεργά αντικείμενα πριν ο φάκελος JSON αναφέρει truncated: true |
| MaxDepth | Μέγιστο φωλιασμένο βάθος πίνακα και λεξικού από 1 έως 32 |
| MaxOutputBytes | Σκληρό ανώτατο όριο για την πλήρη ροή byte JSON |
| MaxStringBytes | Μέγιστα byte που διατηρούνται από μία συμβολοσειρά ή όνομα PDF |
| IncludeStreamDigests | Υπολογίζει SHA-256 σε κωδικοποιημένα byte ροής χωρίς αποκωδικοποίηση του payload |
Κάθε TPdfObjectPatchOperation επιλέγει ακριβή αριθμό αντικειμένου, γενεά και κλειδί λεξικού ανώτατου επιπέδου, στη συνέχεια είτε ορίζει είτε αφαιρεί αυτό το κλειδί
Λειτουργίες set δέχονται τυποποιημένες τιμές null, Boolean, ακέραιου, πραγματικού, ονόματος, συμβολοσειράς κειμένου ή έμμεσης αναφοράς και δεν δέχονται ακατέργαστη σύνταξη PDF
Όλες οι ταυτότητες, γενεές, αναφορές, ονόματα, διπλές λειτουργίες και λεξικά-στόχοι επικυρώνονται πριν παραδοθεί έξοδος
Κλειδιά μήκους ροής και αλυσίδας φίλτρων δεν μπορούν να επιδιορθωθούν επειδή η αλλαγή τους θα διέφθειρε τη ροή
Ο writer προσαρτά μία σταδιακή αναθεώρηση, ανακατασκευάζει το ενεργό γράφημα, το φορτώνει αυστηρά μέσω PDFium και μόνο τότε γράφει τον προορισμό
AllowSignedDocument ενεργοποιηθεί ρητά
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);