Розширена обробка AcroForm

HotPDF може повторно обчислювати завантажені поля, відновлювати стандартні зовнішні вигляди полів зі змінним текстом, визначати стан зовнішнього вигляду анотацій і сплощувати вибраний набір полів без перезапису незмінених сторінок

Порядок обчислень

RecalculateLoadedFormFields дотримується завантаженого масиву /AcroForm /CO та обчислює обмежені операції AFSimple_Calculate: SUM, AVG, PRD, MIN і MAX через безпечний обчислювач сценаріїв полів

ApplyLoadedFieldCalculation встановлює дію обчислення та додає цільове поле в /CO без дубльованих записів

Безпечні сценарії полів

EvaluateLoadedFieldJavaScript обчислює лише декларативні оператори обчислення та перевірки, пов'язані із запитуваним тригером поля

Зовнішні вигляди полів зі змінним текстом

EnsureLoadedFieldAppearanceStream обходить кожен віджет і успадковує значення /DA, /Q, /V, /DV, /Ff і /MaxLen з ієрархії поля або AcroForm

Стани зовнішнього вигляду анотацій

GetLoadedAnnotationAppearanceStream визначає звичайний, наведений або натиснутий зовнішній вигляд і переходить від наведеного або натиснутого до звичайного

Словники станів використовують /AS, успадковане /V або /DV, стан батька, /Off і резервний єдиний потік у такому порядку

Вибіркове сплощення

FlattenLoadedFormFields відмальовує лише обрані зовнішні вигляди віджетів у їхніх сторінках, видаляє лише відповідні поля та анотації та зберігає кожну незмінену сторінку й поле

Стандартний воріт дозволів відхиляє структурні зміни під DocMDP і дотримується блокувань FieldMDP All, Include та Exclude до модифікації будь-якої сторінки

PDF.BeginIncrementalUpdate('SignedForm.pdf');
PDF.RecalculateLoadedFormFields;
PDF.FlattenLoadedFormFields(['Subtotal', 'Total']);
PDF.SaveIncrementalUpdate('SignedForm-updated.pdf');

Пов'язані API