Erweiterte AcroForm-Verarbeitung
HotPDF kann geladene Felder neu berechnen, standardbasierte Erscheinungen für variablen Text erzeugen, Erscheinungszustände von Anmerkungen auflösen und eine ausgewählte Feldmenge abflachen, ohne unveränderte Seiten neu zu schreiben
Berechnungsreihenfolge
RecalculateLoadedFormFields folgt dem geladenen Array /AcroForm /CO und wertet die begrenzten Operationen SUM, AVG, PRD, MIN und MAX von AFSimple_Calculate über den sicheren Feldskriptauswerter aus
ApplyLoadedFieldCalculation installiert die Berechnungsaktion und fügt das Zielfeld ohne doppelte Einträge zu /CO hinzu
Sichere Feldskripte
EvaluateLoadedFieldJavaScript wertet nur deklarative Berechnungs- und Validierungsanweisungen aus, die dem angeforderten Feldauslöser zugeordnet sind
- Ausdrücke unterstützen boolesche Werte, Zahlen, Zeichenfolgen, null, undefined und Arrays mit arithmetischen, unären, Vergleichs-, Gleichheits-, logischen Kurzschluss- und Bedingungsoperatoren
event.valuebewahrt die Eingabesemantik für Zeichenfolgen, während numerischer Feldtext für die Kompatibilität mit vorhandenen Berechnungen numerisch bleibt- Zugelassene Hilfsfunktionen decken die Umwandlung und Analyse von Zahlen und Zeichenfolgen, ausgewählte
Math-Funktionen, deterministische UTC-Datumsanalyse und -erzeugung sowie begrenzte Prüfung von Zeichenfolgen und Arrays ab AFSimple_Calculate,AFRange_Validate, die Zuweisung vonevent.valueund die Zuweisung vonevent.rcliefern deterministische Berechnungs- und Validierungsergebnisse- Schleifen, dynamische Auswertung, Anwendungszugriff, Übermittlung, Import, Start und andere aktive Inhalte werden abgelehnt
- Die Grenzen betragen 8.192 Skriptbytes, 32 Anweisungen, 4.096 Ausdrucksbytes, 32 Parserstufen, 1.024 Operationen, 64 Argumente, 128 Arrayelemente, 65.536 Zeichenfolgenbytes und 262.144 Bytes nachverfolgter Werte
Erscheinungen für variablen Text
EnsureLoadedFieldAppearanceStream durchläuft jedes Widget und erbt die Werte /DA, /Q, /V, /DV, /Ff und /MaxLen aus der Feldhierarchie oder AcroForm
- Linke, zentrierte und rechte Ausrichtung verwenden die lokalen Erscheinungskoordinaten des Widgets
- Mehrzeiliger Text erhält eine begrenzte Zeilenplatzierung und Beschneidung
- Eine Schriftgröße von null in der Standarderscheinung löst automatische Größenanpassung aus
- Comb-Felder platzieren jedes Zeichen unabhängig über die Zellen von
/MaxLen
Erscheinungszustände von Anmerkungen
GetLoadedAnnotationAppearanceStream löst normale, Rollover- oder Down-Erscheinungen auf und fällt von Rollover oder Down auf Normal zurück
Zustandswörterbücher verwenden der Reihe nach /AS, geerbtes /V oder /DV, den Elternzustand, /Off und den Fallback des einzigen Streams
Selektives Abflachen
FlattenLoadedFormFields malt nur Erscheinungen ausgewählter Widgets in ihre besitzenden Seiten, entfernt nur die passenden Felder und Anmerkungen und bewahrt jede unberührte Seite und jedes unberührte Feld
Die standardmäßige Berechtigungsschranke verweigert strukturelle Änderungen unter DocMDP und erzwingt vor einer Seitenänderung die Sperren FieldMDP All, Include und Exclude
PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');