Pokročilé zpracování AcroForm
HotPDF umí přepočítat načtená pole, znovu vytvořit standardní vzhledy proměnlivého textu, vyřešit stavy vzhledu anotací a zploštit vybranou sadu polí bez přepsání nedotčených stránek
Pořadí výpočtů
RecalculateLoadedFormFields sleduje načtené pole /AcroForm /CO a prostřednictvím bezpečného vyhodnocovače skriptů polí vyhodnocuje omezené operace AFSimple_Calculate SUM, AVG, PRD, MIN a MAX
ApplyLoadedFieldCalculation nainstaluje akci výpočtu a přidá cílové pole do /CO bez duplicitních položek
Bezpečné skripty polí
EvaluateLoadedFieldJavaScript vyhodnocuje jen deklarativní příkazy výpočtu a ověření přiřazené k požadovanému spouštěči pole
- Výrazy podporují hodnoty boolean, number, string, null, undefined a array spolu s aritmetickými, unárními, porovnávacími, rovnostními, zkrácenými logickými a podmíněnými operátory
event.valuezachovává sémantiku řetězcového vstupu, zatímco číselný text pole zůstává pro kompatibilitu se stávajícími výpočty číselný- Pomocné funkce na povoleném seznamu zahrnují převod čísel a řetězců, parsování, vybrané funkce
Math, deterministické parsování a vytváření dat UTC a omezenou kontrolu řetězců a polí AFSimple_Calculate,AFRange_Validate, přiřazeníevent.valuea přiřazeníevent.rcposkytují deterministické výsledky výpočtu a ověření- Smyčky, dynamické vyhodnocování, přístup k aplikaci, odesílání, import, spuštění a další aktivní obsah jsou odmítnuty
- Limity jsou 8 192 bajtů skriptu, 32 příkazů, 4 096 bajtů výrazu, 32 úrovní parseru, 1 024 operací, 64 argumentů, 128 položek pole, 65 536 bajtů řetězce a 262 144 bajtů sledovaných hodnot
Vzhledy proměnlivého textu
EnsureLoadedFieldAppearanceStream prochází každý widget a dědí hodnoty /DA, /Q, /V, /DV, /Ff a /MaxLen z hierarchie polí nebo AcroForm
- Levé, středové a pravé zarovnání používá lokální souřadnice vzhledu widgetu
- Víceřádkový text získá omezené umístění řádků a ořezání
- Nulová velikost písma ve výchozím vzhledu vyvolá automatické dimenzování
- Pole Comb umísťují každý znak samostatně do buněk
/MaxLen
Stavy vzhledu anotací
GetLoadedAnnotationAppearanceStream vyřeší normální, při přejetí nebo stisknutý vzhled a při přejetí nebo stisknutí se vrátí k normálnímu
Slovníky stavů používají v tomto pořadí /AS, zděděné /V nebo /DV, nadřazený stav, /Off a záložní jediný stream
Selektivní zploštění
FlattenLoadedFormFields vykreslí na vlastnické stránky jen vzhledy vybraných widgetů, odstraní jen odpovídající pole a anotace a zachová všechny nedotčené stránky a pole
Výchozí brána oprávnění odmítá strukturální změny při DocMDP a před úpravou stránky vynucuje zámky FieldMDP All, Include a Exclude
PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');