ネイティブ Linux ABI フォーム外観
hpdf_document_execute_json_v1 は forms.fill で読み込み済み AcroForm フィールドを入力し、デフォルトで一致する通常外観を生成するとともに、元の PDF リビジョン、パスワード、セキュリティディクショナリー、ドキュメント ID を保持します
{"schemaVersion":1,"type":"forms.fill","fields":[
{"name":"Notes","value":"First line Ω\nSecond café","fontSize":13},
{"name":"Combo","value":"two"},
{"name":"Colors","values":["blue","red"]},
{"name":"Check","checked":true},
{"name":"Radio","checked":true,"onState":"B"},
{"name":"Submit","caption":"Send Ω"}
]}
フィールド値と外観
テキストフィールドは value か型付きの richTextRuns を受け付けます。richTextRuns と一緒に value を渡す場合は、CR 段落区切りを含め、導出されたプレーンテキストと正確に一致しなければなりません
プレーン外観は継承された複数行、comb、配置、回転の各設定に従い、選択された Unicode TrueType フォントを埋め込みます。スタイル付き run は、明示的なフォントスタイル、サイズ、色、配置、段落区切り、装飾を運びます
パスワードテキストフィールドは、実際に保存されたフィールド値と元の暗号化を保持したまま、外観とグリフマッピングを Unicode スカラーにつき 1 つのビュレットでマスクします。ファイル選択フィールドは、選択されたファイルを開かずにリテラルの Unicode パスを表示します
選択肢フィールドは 1 つの value 文字列か完全な values 配列のどちらかを受け付け、両方は渡せません。エクスポート値はオプション表示テキストにマップされ、複数選択はオプションインデックス順にソートされ、空配列は選択をクリアします
チェックボックスとラジオグループには論理値の checked が必要です。onState のデフォルトは Yes で、明示的に指定すると一致するラジオウィジェットを選択します。クリア操作ではフィールドとウィジェットの両方の状態が更新されます
プッシュボタンには caption が必要で、選択された埋め込み Unicode フォントで描画されます
forms.read はすべての選択肢フィールドについて完全な values 配列を含めます。クリア後の空配列も含まれ、スカラーの value メンバーも引き続き利用できます
リッチフィールドでは、forms.read が保存済みの XHTML richText 文字列も返します。通常の値置換は RV を同期し、スタイル付き run には外観の生成が必要です
オプションと公開
各編集は fontFamily(デフォルト DejaVu Sans)、fontSize(12)、padding(2)、characterSpacing(0)、wordSpacing(0)、paintWhiteBackground(true)を受け付けます
型付きリッチ編集では、fontFamilies 配列と run ごとのファミリー選択も使えます。配列がないときは元の単一ファミリー動作を保ちます
テキスト編集は、値のみの更新のために appearance:false を明示的に設定できます。選択肢とボタンの編集には外観の生成が必要です
不明なフィールド、重複した編集、無効な選択、過剰な comb 値、不正なパラメーター、キャンセル、リソース枯渇、失敗したコールバックでは、現在の読み込み済みドキュメントは変更されません。出力は、いずれのバイナリ公開コールバックが走るより前に準備されます
操作結果には updated と現在のフィールドリストが入ります。対応する外観タイプは formAppearances ケイパビリティ配列で確認できます
ネイティブ C ABI の受け入れテストは、実際の平文と AES R5/R6 のフォーム出力を生成します。独立した pypdf と MuPDF のチェックが、選択インデックス、ウィジェット状態、埋め込みフォント、Unicode 値、暗号化、実際の外観ピクセルを検査します