Avanceret AcroForm-behandling
HotPDF kan genberegne indlæste felter, gendanne standardbaserede udseender for variabel tekst, opløse annotationsudseendetilstande og fladgøre et valgt feltsæt uden at genskrive uberørte sider
Beregningsrækkefølge
RecalculateLoadedFormFields følger det indlæste /AcroForm /CO-array og evaluerer de begrænsede AFSimple_Calculate-operationer SUM, AVG, PRD, MIN og MAX gennem den sikre evaluator for feltskripter
ApplyLoadedFieldCalculation installerer beregningshandlingen og tilføjer målfeltet til /CO uden dublerede poster
Sikre feltskripter
EvaluateLoadedFieldJavaScript evaluerer kun deklarative beregnings- og valideringssætninger, der er knyttet til den anmodede feltudløser
- Udtryk understøtter booleske værdier, tal, strenge, null, undefined og arrayværdier med aritmetiske, unære, sammenlignings-, ligheds-, kortsluttende logiske og betingede operatorer
event.valuebevarer semantikken for strenginput, mens numerisk felttekst forbliver numerisk af hensyn til kompatibilitet med eksisterende beregninger- Hjælpere på tilladelseslisten dækker konvertering af tal og strenge, parsing, udvalgte
Math-funktioner, deterministisk UTC-datoparsing og -konstruktion samt begrænset inspektion af strenge og arrays AFSimple_Calculate,AFRange_Validate, tildeling tilevent.valueog tildeling tilevent.rcgiver deterministiske resultater for beregning og validering- Løkker, dynamisk evaluering, programadgang, indsendelse, import, start og andet aktivt indhold afvises
- Grænserne er 8.192 scriptbyte, 32 sætninger, 4.096 udtryksbyte, 32 parserniveauer, 1.024 operationer, 64 argumenter, 128 arrayelementer, 65.536 strengbyte og 262.144 byte for sporede værdier
Udseender for variabel tekst
EnsureLoadedFieldAppearanceStream gennemløber hver widget og nedarver værdierne /DA, /Q, /V, /DV, /Ff og /MaxLen fra felthierarkiet eller AcroForm
- Venstre-, center- og højrejustering bruger widgettens lokale koordinater for udseendet
- Flerlinjet tekst får begrænset linjeplacering og klipning
- En skriftstørrelse på nul i standardudseendet udløser automatisk størrelse
- Kamfelter placerer hvert tegn uafhængigt på tværs af
/MaxLen-celler
Annotationsudseendetilstande
GetLoadedAnnotationAppearanceStream opløser normale, rollover- eller nedtrykte udseender og falder tilbage fra rollover eller nedtrykt til normal
Tilstandsordbøger bruger i rækkefølge /AS, nedarvet /V eller /DV, overordnet tilstand, /Off og reserve med eneste stream
Selektiv fladgøring
FlattenLoadedFormFields maler kun valgte widgetudseender på deres ejersider, fjerner kun de tilsvarende felter og annotationer og bevarer enhver uberørt side og ethvert uberørt felt
Standardporten for tilladelser afviser strukturelle ændringer under DocMDP og håndhæver FieldMDP-låsene All, Include og Exclude, før en side ændres
PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');