Zaawansowane przetwarzanie AcroForm
HotPDF może przeliczyć załadowane pola, zregenerować wyglądy tekstu zmiennego oparte na standardach, rozpoznać stany wyglądu adnotacji oraz spłaszczyć wybrany zestaw pól bez przepisywania nietkniętych stron
Kolejność obliczeń
RecalculateLoadedFormFields podąża za załadowaną tablicą /AcroForm /CO i ocenia ograniczone operacje AFSimple_Calculate SUM, AVG, PRD, MIN i MAX przez bezpieczny ewaluator skryptów pól
ApplyLoadedFieldCalculation instaluje akcję obliczenia i dodaje pole docelowe do /CO bez zduplikowanych wpisów
Bezpieczne skrypty pól
EvaluateLoadedFieldJavaScript ocenia tylko deklaratywne instrukcje obliczeń i walidacji powiązane z żądanym wyzwalaczem pola
- Wyrażenia obsługują wartośći logiczne, liczbowe, łańcuchowe, null, undefined i tablicowe z arytmetyką, operatorami jednoargumentowymi, porównawczymi, równości, logicznymi z oceną skrótową i warunkowymi
event.valuezachowuje semantykę danych wejściowych łańcucha, podczas gdy tekst pól liczbowych pozostaje liczbowy dla zgodności z istniejącymi obliczeniami- Pomocnicy z listy dozwolonych obejmują konwersję liczby i łańcucha, parsowanie, wybrane funkcje
Math, deterministyczne parsowanie i konstrukcję daty UTC oraz ograniczoną inspekcję łańcuchów i tablic AFSimple_Calculate,AFRange_Validate, przypisanieevent.valuei przypisanieevent.rcdostarczają deterministycznych wyników obliczeń i walidacji- Pętle, ocena dynamiczna, dostęp do aplikacji, przesyłanie, import, uruchamianie i inne aktywne treści są odrzucane
- Limity to 8 192 bajtów skryptu, 32 instrukcje, 4 096 bajtów wyrażeń, 32 poziomy parsera, 1 024 operacje, 64 argumenty, 128 elementów tablicy, 65 536 bajtów łańcucha i 262 144 bajty śledzonych wartości
Wyglądy tekstu zmiennego
EnsureLoadedFieldAppearanceStream przechodzi przez każdy widżet i dziedziczy wartości /DA, /Q, /V, /DV, /Ff i /MaxLen z hierarchii pola lub AcroForm
- Umieszczenia lewe, środkowe i prawe używają lokalnych współrzędnych wyglądu widżetu
- Tekst wielowierszowy otrzymuje ograniczone umieszczenie wierszy i przycinanie
- Zerowy rozmiar czcionki domyślnego wyglądu wyzwala automatyczne skalowanie
- Pola comb umieszczają każdy znak niezależnie w poprzek komórek
/MaxLen
Stany wyglądu adnotacji
GetLoadedAnnotationAppearanceStream rozpoznaje wyglądy normalne, najechania lub wciśnięcia oraz przechodzi z najechania lub wciśnięcia do normalnego
Słowniki stanów używają /AS, dziedziczonego /V lub /DV, stanu nadrzędnego, /Off i wyjątkowego strumienia zastępczego w tej kolejności
Spłaszczanie selektywne
FlattenLoadedFormFields maluje tylko wybrane wyglądy widżetów w ich strony właścicielskie, usuwa tylko zgodne pola i adnotacje oraz zachowuje każdą nietkniętą stronę i pole
Domyślna brama uprawnień odmawia zmian strukturalnych pod DocMDP oraz egzekwuje blokady FieldMDP All, Include i Exclude przed modyfikacją jakiejkolwiek strony
PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');