Geavanceerde AcroForm-verwerking
HotPDF kan geladen velden herberekenen, standaardgebaseerde variabele-tekstverschijningen opnieuw genereren, annotatie-verschijningsstatussen oplossen en een geselecteerde veldverzameling afvlakken zonder onaangeroerde pagina's te herschrijven
Berekeningsvolgorde
RecalculateLoadedFormFields volgt de geladen /AcroForm /CO-array en evalueert de begrensde AFSimple_Calculate-bewerkingen SUM, AVG, PRD, MIN en MAX via de veilige veldscript-evaluator
ApplyLoadedFieldCalculation installeert de berekeningsactie en voegt het doelveld toe aan /CO zonder dubbele vermeldingen
Veilige veldscripts
EvaluateLoadedFieldJavaScript evalueert alleen declaratieve berekenings- en validatiestatements die zijn gekoppeld aan de gevraagde veldtrigger
- Expressies ondersteunen booleaanse, numerieke, string-, null-, undefined- en arraywaarden met rekenkundige, unaire, vergelijkings-, gelijkheids-, kortsluit-logische en conditionele operatoren
event.valuebehoudt de stringinvoersemantiek, terwijl numerieke veldtekst numeriek blijft voor compatibiliteit met bestaande berekeningen- Toegestane helpers dekken getal- en stringconversie, parsen, geselecteerde
Math-functies, deterministisch UTC-datumpersp en -constructie, en begrensde string- en array-inspectie AFSimple_Calculate,AFRange_Validate,event.value-toewijzing enevent.rc-toewijzing leveren deterministische berekenings- en validatieresultaten- Lussen, dynamische evaluatie, applicatietoegang, verzending, import, starten en andere actieve inhoud worden geweigerd
- Limieten zijn 8.192 scriptbytes, 32 statements, 4.096 expressiebytes, 32 parser-niveaus, 1.024 bewerkingen, 64 argumenten, 128 arrayitems, 65.536 stringbytes en 262.144 bytes aan bijgehouden waarden
Variabele-tekstverschijningen
EnsureLoadedFieldAppearanceStream doorloopt elke widget en erft /DA, /Q, /V, /DV, /Ff- en /MaxLen-waarden over van de veldhierarchie of AcroForm
- Links-, midden- en rechtsuitlijning gebruiken de lokale verschijningscoördinaten van de widget
- Meerregelige tekst ontvangt begrensde regelplaatsing en clipping
- Een nul-lettergrootte van de standaardverschijning activeert automatische afmeting
- Comb-velden plaatsen elk teken onafhankelijk over
/MaxLen-cellen
Annotatie-verschijningsstatussen
GetLoadedAnnotationAppearanceStream lost normale, rollover- of down-verschijningen op en valt terug van rollover of down naar normaal
Statuswoordenlijsten gebruiken /AS, geërfde /V of /DV, ouderstatus, /Off en sole-stream-teugval in die volgorde
Selectieve afvlakking
FlattenLoadedFormFields tekent alleen geselecteerde widget-verschijningen in de bijbehorende pagina's, verwijdert alleen de overeenkomende velden en annotaties en behoudt elke onaangeroerde pagina en elk onaanighted veld
Het standaardtoestemmingspoort weigert structurele wijzigingen onder DocMDP en handhaaft FieldMDP-All-, Include- en Exclude-vergrendelingen voordat enige pagina wordt gewijzigd
PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');