THPDFFDFAnnotationGraph-Klasse

Unit: HPDFFDFAnnotations

Besitzt einen begrenzten FDF-Wertgraphen, seine indirekten Objekte und sein Annotation-Array

Lesen und Schreiben

Decode(Bytes, Options, AllowFields) validiert vollständige binäre FDF-Daten und gibt einen vom Aufrufer besessenen Graphen zurück; Encode gibt kanonische FDF-Bytes mit neu erzeugten Stream-Längen und Cross-Reference-Offsets zurück

AnnotationCount, Annotation, AnnotationPage und ObjectCount untersuchen den zugelassenen Annotation-Graphen; Resolve folgt graph-scoped indirekten Referenzen

Das optionale Dekodierflag AllowFields nimmt ein Fields-Array zur Graphinspektion an; es implementiert kein Ausfüllen von Feldern und autorisiert keinen Nur-Annotation-Adapter, Feldaktualisierungen zu verwerfen

Aufbau

Erstellen Sie den Graphen mit THPDFFDFOptions, rufen Sie StartAnnotations auf und konstruieren Sie dann mit CreateValue, SetScalar, SetStream, AddItem, AddEntry, Define und AppendAnnotation seine Werte

Builder-Skalar-Tokens nutzen PDF-Syntax, etwa ein schrägstrichpräfixierter Name oder ein eingeklammerter String; Dictionary-Eintragsnamen sind dekodierte Namensbytes ohne führenden Schrägstrich

Jeder Wert gehört zu seinem Graphen, und Container-Einträge sind geliehen; geben Sie kein Kind unabhängig frei, hängen Sie keinen Wert aus einem anderen Graphen an und behalten Sie keinen Wert, nachdem sein Graph freigegeben wurde

Konstruierte Streams erhalten ihre kanonische Length beim Kodieren; liefern Sie Stream-Bytes, statt einen passenden Length-Eintrag manuell zu konstruieren

Kontext und Grenzen

ActionCount, Action, IsLocalGoTo, IsLocalDestination und LocalDestinationPage untersuchen tatsächliche Annotation-Action-Kontexte, ohne ihre Actions auszuführen

Graphmutation invalidiert zwischengespeicherte Action-Kontexte; nachfolgende Abfragen bauen sie unter denselben Arbeitsspeicher-, Tiefen- und Abbruchgrenzen neu auf

ReservedBytes berichtet konservative Zulassungsbuchhaltung, während Reserve einem Adapter erlaubt, zusätzliche graphbezogene Speicherung vor der Allokation anzumelden

Fehlerhafte Referenzen, doppelte dekodierte Dictionary-Namen, ungültige Annotation-Seiten, unzulässige Subtypes und überschrittene Grenzen werfen eine Ausnahme, bevor ein kodiertes Ergebnis zurückgegeben wird

Siehe nativen Annotation-FDF-Austausch für Ersetzung auf Dokumentebene, Berechtigungen und Veröffentlichungsverhalten