Elaborazione Avanzata AcroForm
HotPDF può ricalcolare i campi caricati, rigenerare aspetti di testo variabile conformi agli standard, risolvere gli stati di aspetto delle annotazioni e appiattire un insieme di campi selezionato senza riscrivere le pagine non toccate
Ordine di calcolo
RecalculateLoadedFormFields segue l'array /AcroForm /CO caricato e valuta le operazioni limitate di AFSimple_Calculate SUM, AVG, PRD, MIN e MAX tramite il valutatore sicuro di script di campo
ApplyLoadedFieldCalculation installa l'azione di calcolo e aggiunge il campo di destinazione a /CO senza voci duplicate
Script di campo sicuri
EvaluateLoadedFieldJavaScript valuta solo le istruzioni dichiarative di calcolo e validazione associate al trigger di campo richiesto
- Le espressioni supportano valori booleani, numerici, stringa, null, undefined e array con operatori aritmetici, unari, di confronto, di uguaglianza, logici a cortocircuito e condizionali
event.valuepreserva la semantica di input a stringa, mentre il testo numerico dei campi rimane numerico per compatibilità con i calcoli esistenti- Gli helper consentiti coprono la conversione di numeri e stringhe, l'analisi, funzioni
Mathselezionate, la costruzione e l'analisi deterministica di date UTC e l'ispezione limitata di stringhe e array - L'assegnazione di
AFSimple_Calculate,AFRange_Validate,event.valueeevent.rcfornisce risultati deterministici di calcolo e validazione - Cicli, valutazione dinamica, accesso alle applicazioni, invio, importazione, avvio e altri contenuti attivi vengono respinti
- I limiti sono 8.192 byte di script, 32 istruzioni, 4.096 byte di espressioni, 32 livelli di parser, 1.024 operazioni, 64 argomenti, 128 elementi di array, 65.536 byte di stringhe e 262.144 byte di valori tracciati
Aspetti di testo variabile
EnsureLoadedFieldAppearanceStream scorre ogni widget e eredita i valori /DA, /Q, /V, /DV, /Ff e /MaxLen dalla gerarchia dei campi o dall'AcroForm
- La quadratura a sinistra, al centro e a destra usa le coordinate di aspetto locali del widget
- Il testo multilinea riceve posizionamento e ritaglio limitati
- Una dimensione del font di aspetto predefinito pari a zero attiva il ridimensionamento automatico
- I campi combinatori posizionano ogni carattere in modo indipendente nelle celle
/MaxLen
Stati di aspetto delle annotazioni
GetLoadedAnnotationAppearanceStream risolve gli aspetti normal, rollover o down e torna da rollover o down a normal
I dizionari di stato usano /AS, /V o /DV ereditati, lo stato del genitore, /Off e il fallback di flusso singolo in questo ordine
Appiattimento selettivo
FlattenLoadedFormFields disegna solo gli aspetti dei widget selezionati nelle loro pagine proprietarie, rimuove solo i campi e le annotazioni corrispondenti e conserva ogni pagina e campo non toccato
Il gate di autorizzazione predefinito rifiuta le modifiche strutturali sotto DocMDP e applica i blocchi FieldMDP All, Include e Exclude prima che una pagina venga modificata
PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');