Elaborazione dei Documenti Interattivi
HotPDF fornisce workflow con limiti e senza esecuzione per gli script dei campi caricati, i payload RichMedia, il data binding XFA, FormCalc e lo scambio delle annotazioni XFDF
Calcolo e validazione sicuri
EvaluateLoadedFieldJavaScript legge un'azione di campo per il trigger richiesto e valuta solo il sottoinsieme sicuro documentato
AFSimple_Calculateaggrega i campi nominatiAFRange_Validateapplica limiti inclusivi o esclusivievent.value,this.getField(...).value, i valori letterali tipizzati, l'indicizzazione degli array, l'aritmetica, gli operatori unari, di confronto, di uguaglianza, logici short-circuit e condizionali formano espressioni con limiti- Le conversioni allowlistate, funzioni
Mathselezionate, date UTC deterministiche e i metodi di stringhe e array con limiti supportano la logica comune dei moduli senza un motore di script - Le funzioni, i membri, le istruzioni e i costrutti di scripting attivi non supportati chiudono in modo sicuro
Ispezione e sanificazione RichMedia
GetLoadedRichMediaAssetCount, GetLoadedRichMediaAssetInfo e ExtractLoadedRichMediaAsset attraversano un albero di nomi di asset RichMedia con limiti ed espongono i byte incorporati decodificati
SanitiseLoadedRichMediaAnnotations rimuove le annotazioni RichMedia e raccoglie i loro oggetti FileSpec e EmbeddedFile ormai non raggiungibili per una riscrittura completa sicura senza rimuovere contenuto attivo non correlato
SOM XFA e FormCalc
L'appiattimento XFA accetta istanze indicizzate, istanze wildcard, selettori di classe, selettori di discendente e le radici $record, $data o !data preservando l'ordine documentale
Il sottoinsieme FormCalc con limiti supporta aggregati misti scalari e node-set SOM, chiamate annidate numeriche e stringa, helper deterministici di selezione e conversione, funzioni trigonometriche e logaritmiche, e i limiti documentati su operazioni, array, profondità, tempo trascorso e output
Round trip delle annotazioni XFDF
L'import e l'export XFDF usano una singola mappatura condivisa per le annotazioni Text, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, StrikeOut, Squiggly, Stamp, Ink, Caret, FileAttachment, Sound, Redact e Link
I dizionari Popup restano figli della loro annotazione di markup proprietaria, mentre i dati Widget e RichMedia usano i loro workflow dedicati per moduli e media