ネイティブ 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 値、暗号化、実際の外観ピクセルを検査します

ネイティブ Linux C ABI · 署名ワークフロー · 残りの提供計画