Avancerad AcroForm-behandling
HotPDF kan räkna om inlästa fält, återgenerera standardbaserade variabel-textutseenden, lösa upp annotationsutseendelägen och tillplatta en vald fältuppsättning utan att omskriva orörda sidor
Beräkningsordning
RecalculateLoadedFormFields följer den inlästa /AcroForm /CO-arrayen och utvärderar de begränsade AFSimple_Calculate-operationerna SUM, AVG, PRD, MIN och MAX genom den säkra fältskriptutvärderaren
ApplyLoadedFieldCalculation installerar beräkningsåtgärden och lägger till mål-fältet i /CO utan dubblettposter
Säkra fältskript
EvaluateLoadedFieldJavaScript utvärderar endast deklarativa beräknings- och valideringsutsagor som är associerade med den begärda fältutlösaren
- Uttryck stöder boolean-, tal-, sträng-, null-, undefined- och array-värden med aritmetiska, unära, jämförelse-, likhets-, kortslutningslogiska och villkorliga operatorer
event.valuebevarar stränginmatningssemantik, medan numerisk fälttext förblir numerisk för kompatibilitet med befintliga beräkningar- Vitlistade hjälpare täcker tal- och strängkonvertering, tolkning, utvalda
Math-funktioner, deterministisk UTC-datumtolkning och -konstruktion samt begränsad sträng- och arrayinspektion AFSimple_Calculate,AFRange_Validate,event.value-tilldelning ochevent.rc-tilldelning ger deterministiska beräknings- och valideringsresultat- Loopar, dynamisk utvärdering, applikationsåtkomst, sändning, import, start och annat aktivt innehåll avvisas
- Gränserna är 8,192 skriptbyte, 32 utsagor, 4,096 uttrycksbyte, 32 tolkningsnivåer, 1,024 operationer, 64 argument, 128 arrayelement, 65,536 strängbyte och 262,144 byte spårade värden
Variabel-textutseenden
EnsureLoadedFieldAppearanceStream går igenom alla widgetar och ärver /DA-, /Q-, /V-, /DV-, /Ff- och /MaxLen-värden från fälthierarkin eller AcroForm
- Vänster-, mitt- och högerinpassning använder widgetens lokala utseendekoordinater
- Flerradig text får begränsad radplacering och klippning
- En teckenstorlek på noll i standardutseendet utlöser automatisk storlekssättning
- Comb-fält placerar varje tecken oberoende över
/MaxLen-celler
Annotationsutseendelägen
GetLoadedAnnotationAppearanceStream löser upp normala, rollover- eller ner-utseenden och faller tillbaka från rollover eller ner till normalt
Tillståndsordlistor använder /AS, ärvt /V eller /DV, föräldratillstånd, /Off och ensam-ström-fallback i den ordningen
Selektiv tillplattning
FlattenLoadedFormFields ritar endast utvalda widgetutseenden i sina ägande sidor, tar bort endast de matchande fälten och annotationerna samt behåller varje orörd sida och fält
Standardporten för rättigheter vägrar strukturella ändringar under DocMDP och tillämpar FieldMDP-All-, Include- och Exclude-lås innan någon sida ändras
PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');