高度な AcroForm 処理
HotPDF はロード済みフィールドを再計算し、標準準拠の可変テキスト外観を再生成し、注釈外観状態を解決し、触れていないページを書き換えずに選択したフィールドセットを平坦化できます
計算順序
RecalculateLoadedFormFields はロード済みの /AcroForm /CO 配列に従い、安全なフィールドスクリプト評価器を通じて制限付き AFSimple_Calculate 操作 SUM、AVG、PRD、MIN、MAX を評価します
ApplyLoadedFieldCalculation は計算アクションをインストールし、重複エントリなしでターゲットフィールドを /CO に追加します
安全なフィールドスクリプト
EvaluateLoadedFieldJavaScript は、要求されたフィールドトリガーに関連付けられた宣言型の計算ステートメントと検証ステートメントのみを評価します
- 式は、論理演算子、単項演算子、比較演算子、等価演算子、短絡論理演算子、条件演算子を伴う真偽値、数値、文字列、null、undefined、配列の値をサポートします
event.valueは文字列入力の意味を保持し、数値フィールドのテキストは既存の計算との互換性のため数値のままです- 許可リストに登録されたヘルパーは、数値および文字列変換、解析、選択された
Math関数、決定的な UTC 日付解析と構築、制限付きの文字列および配列の検査をカバーします AFSimple_Calculate、AFRange_Validate、event.value代入、event.rc代入は決定的な計算および検証結果を提供します- ループ、動的評価、アプリケーションアクセス、送信、インポート、起動、その他のアクティブコンテンツは拒否されます
- 上限は、スクリプト 8,192 バイト、ステートメント 32 個、式 4,096 バイト、パーサーレベル 32 個、操作 1,024 個、引数 64 個、配列項目 128 個、文字列 65,536 バイト、追跡値 262,144 バイトです
可変テキスト外観
EnsureLoadedFieldAppearanceStream はすべてのウィジェットを走査し、フィールド階層または AcroForm から /DA、/Q、/V、/DV、/Ff、/MaxLen 値を継承します
- 左寄せ、中央寄せ、右寄せのクワディングはウィジェットのローカル外観座標を使用します
- 複数行テキストは制限付きの行配置とクリッピングを受け取ります
- デフォルト外観フォントサイズがゼロの場合、自動サイズ調整がトリガーされます
- コンブフィールドは各文字を
/MaxLenセルにわたって個別に配置します
注釈外観状態
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');