Scambio FDF nativo delle annotazioni

Lo scambio binario FDF delle annotazioni preserva i grafi di oggetti PDF invece di mappare ogni annotazione a un vocabolario XML fisso

Usare ExportAnnotationsFDF per produrre byte FDF e SaveAnnotationsFDFToFile per preparare una revisione incrementale di PDF indipendente

Grafi e risorse di appearance

Il grafo conserva nomi, token numerici esatti, byte di stringhe letterali ed esadecimali, array, dizionari, riferimenti indiretti e byte di stream

Gli stati di appearance delle annotazioni, le selezioni AS, font e immagini condivisi e gli stream RO di Redact conservano la loro topologia di riferimenti condivisi; i numeri di oggetto in output e la serializzazione possono cambiare

Le lunghezze degli stream vengono rigenerate dai byte conservati durante l'encoding; le lunghezze delle sorgenti indirette si risolvono durante la decodifica e vengono verificate prima della pubblicazione

Gli array di destinazione GoTo locali espliciti in A, gli eventi AA ammessi e le catene Next vengono rimappati nel loro contesto di azione effettivo agli oggetti pagina del documento di destinazione; un dizionario altrove in un grafo di risorse non viene trattato come azione solo perché le sue chiavi gli somigliano

Lo scambio preserva i dati delle azioni senza eseguire script, seguire riferimenti a file esterni, navigare destinazioni o applicare redazioni

Comportamento di import

I valori FDF Page sono indici di pagina a base zero e devono identificare pagine del documento caricato

Un NM non vuoto corrispondente sulla stessa pagina identifica un'annotazione esistente da sostituire; un'annotazione senza nome o senza corrispondenza viene accodata, e i nomi ambigui falliscono prima della pubblicazione

Gli import di annotazioni semanticamente invariati restituiscono zero; la pubblicazione no-op esatta e il recupero dei callback fanno parte del contratto di acceptance

Il metodo di salvataggio nativo lascia il documento caricato invariato sia dopo il successo sia dopo il fallimento; caricare il PDF salvato per adottare la sua nuova revisione

Permessi e limiti

L'export richiede il permesso di estrazione, mentre le modifiche effettive delle annotazioni richiedono il permesso di annotazione e l'ammissione autenticata della politica delle firme

La certificazione P1 e P2 impedisce le modifiche alle annotazioni; le revisioni P3 consentite conservano i byte firmati originali, con permessi dell'input cifrato e politiche di lock dei campi valutati contro il documento effettivo

THPDFFDFOptions limita in modo indipendente byte, nodi, oggetti, profondità, conteggio delle annotazioni e storage di lavoro, con cancellazione cooperativa durante parsing, preparazione e output

Un salvataggio fallito o cancellato preserva il file di destinazione e il grafo caricato; i client callback conservano anche il loro ultimo documento confermato quando fallisce la pubblicazione dell'output o del risultato

Confini

Link, Movie, Widget, PrinterMark, Screen e TrapNet sono esclusi dal profilo FDF Annots standard

Gli import di sole annotazioni rifiutano Fields non vuoti e Differences di documenti incorporati invece di scartarne silenziosamente gli effetti

La sintassi arbitraria dei contenitori di appearance XFDF, la cancellazione di annotazioni, l'elaborazione di file FDF incorporati e l'applicazione di revisioni di documenti incorporati restano lavoro separato

Il trasporto delle appearance conserva le risorse AP fornite; non sintetizza un'appearance mancante né esegue l'azione di un'annotazione

Per il profilo XML vedere lo scambio XFDF mappato e per l'API del grafo autonomo THPDFFDFAnnotationGraph

Rimozione esplicita delle annotazioni

La rimozione delle annotazioni per pagina e nome è un'operazione separata; omettere un'annotazione dall'FDF o XFDF importato non la cancella

La cancellazione dell'albero di campi Widget e la cancellazione sicura richiedono operazioni separate; la rimozione incrementale conserva i byte PDF precedenti