Native annotation FDF exchange

Binaire FDF-annotatieuitwisseling behoudt PDF-objectgraven in plaats van elke annotatie naar een vaste XML-vocabulair te mappen

Gebruik ExportAnnotationsFDF om FDF-bytes te produceren en SaveAnnotationsFDFToFile om een onafhankelijke incrementele PDF-revisie voor te bereiden

Graven en appearance-resources

De graaf behoudt namen, exacte numerieke tokens, letterlijke en hexadecimale string-bytes, arrays, dictionaries, indirecte references en stream-bytes

Annotatie-appearance-states, AS-selecties, gedeelde fonts en images, en Redact RO-streams behouden hun shared-reference-topologie; objectnummers en serialisatie van de uitvoer kunnen veranderen

Stream-lengtes worden bij het encoderen opnieuw gegenereerd uit de behouden bytes; indirecte bronlengtes worden tijdens het decoderen opgelost en vóór publicatie gecontroleerd

Expliciete lokale GoTo-destination-arrays in A, toegelaten AA-events en Next-ketens worden in hun werkelijke action-context gemapt naar de page-objecten van het destination-document; een dictionary ergens anders in een resource-graaf wordt niet als action behandeld alleen omdat diens keys erop lijken

Interchange behoudt action-data zonder scripts uit te voeren, externe bestandsreferences te volgen, destinations te navigeren of redactions toe te passen

Importgedrag

FDF Page-waarden zijn zero-based pagina-indices en moeten pagina's in het geladen document identificeren

Een matchende niet-lege NM op dezelfde pagina identificeert een bestaande annotatie voor vervanging; een naamloze of niet-matchende annotatie wordt toegevoegd, en ambigue namen falen vóór publicatie

Semantisch onveranderde annotatie-imports geven nul terug; exacte no-op-publicatie en callback-herstel horen bij het acceptance-contract

De native save-methode laat het geladen document na succes evenals na falen ongewijzigd; laad de opgeslagen PDF om diens nieuwe revisie te adopteren

Permissions en limieten

Export vraagt extractiepermissie, terwijl echte annotatiewijzigingen annotation-permission en geauthenticeerde signature-policy-toelating vragen

Certification P1 en P2 verhinderen annotatiewijzigingen; toegelaten P3-revisies behouden de originele signed bytes, met permissions voor versleutelde invoer en field-lock-beleiden getoetst tegen het echte document

THPDFFDFOptions klemt bytes, nodes, objecten, diepte, annotatieaantal en working storage onafhankelijk af, met coöperatieve annulering tijdens parsing, voorbereiding en uitvoer

Een gefaalde of geannuleerde save behoudt het doelbestand en de geladen graaf; callback-clients behouden ook hun laatstgecommitte document wanneer uitvoer- of resultaatpublicatie faalt

Grenzen

Link, Movie, Widget, PrinterMark, Screen en TrapNet vallen buiten het standaard FDF Annots-profiel

Annotation-only-imports verwerpen niet-lege Fields en embedded document Differences in plaats van diens effecten stilletjes weg te gooien

Willekeurige XFDF appearance-container-syntax, annotatieverwijdering, verwerking van embedded FDF-bestanden en toepassen van embedded document-revisies blijven apart werk

Appearance-transport behoudt geleverde AP-resources; het synthetiseert geen ontbrekende appearance en voert geen action van een annotatie uit

Zie mapped XFDF-uitwisseling voor het XML-profiel en THPDFFDFAnnotationGraph voor de standalone graaf-API

Expliciete annotatieverwijdering

Pagina-en-naam-annotatieverwijdering is een aparte operatie; een annotatie weglaten uit geïmporteerde FDF of XFDF verwijdert hem niet

Widget field-tree-verwijdering en secure erasure vragen aparte operaties; incrementele verwijdering behoudt eerdere PDF-bytes