Advanced AcroForm Processing

HotPDF는 로드된 필드를 재계산하고, 표준 기반 variable-text appearance를 재생성하고, 주석 appearance 상태를 해석하고, 손대지 않은 페이지를 다시 쓰지 않고 선택된 필드 집합을 평탄화할 수 있습니다

Calculation order

RecalculateLoadedFormFields는 로드된 /AcroForm /CO 배열을 따라가 안전 필드 스크립트 평가기로 상한 AFSimple_Calculate 연산 SUM, AVG, PRD, MIN, MAX를 평가합니다

ApplyLoadedFieldCalculation은 계산 action을 설치하고 중복 항목 없이 대상 필드를 /CO에 추가합니다

안전한 필드 스크립트

EvaluateLoadedFieldJavaScript는 요청된 필드 트리거에 연결된 선언적 계산·검증 문만 평가합니다

variable-text appearance

EnsureLoadedFieldAppearanceStream는 모든 위젯을 훑으며 필드 계층이나 AcroForm에서 /DA, /Q, /V, /DV, /Ff, /MaxLen 값을 상속합니다

주석 appearance 상태

GetLoadedAnnotationAppearanceStream는 normal, rollover, down appearance을 해석하고 rollover/down에서 normal로 폴백합니다

상태 딕셔너리는 그 순서대로 /AS, 상속 /V 또는 /DV, 부모 상태, /Off, 유일 stream 폴백을 씁니다

Selective flattening

FlattenLoadedFormFields는 선택된 위젯 appearance만 소유 페이지에 그리고 일치하는 필드·주석만 제거하며, 손대지 않은 페이지와 필드는 모두 유지합니다

기본 권한 게이트는 DocMDP 아래의 구조 변경을 거부하고 어떤 페이지가 수정되기 전에 FieldMDP All, Include, Exclude 잠금을 강제합니다

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

관련 API