自動 XFA ブールスタイルとキャプション

ユニット: HPDFXFA と HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF は実効的な checkButton プロパティを消費し、実際の XFA レイアウトからネイティブなチェックボックス・ラジオのアピアランスストリームを生成します

マーカーとアウトライン

checkButton のサイズは既定で 10pt であり、フィールドのコンテンツ領域内にある正方形マーカー領域を制御します。明示的なサイズ指定、フィールドと UI のマージン、段落の水平垂直配置が位置を決めます

正方形と丸のシェイプがアウトラインを決めます。XFA 3.3 の checkButton 仕様に従い、既定のチェック済みマークは正方形アウトラインでは十字、丸アウトラインでは塗りつぶし円です

明示的な check、circle、cross、diamond、square、star の各マークは実際のベクターパスを使います。指定フォントにチェックボックス記号が含まれるかには依存しません

最初の UI ボーダーエッジが太さ、色、可視性を供給します。既定のアウトラインは幅 0.5pt の黒で、チェック済みマークの色はフィールドの実効フォント色が担います

設定サイズがコンテンツ領域を超える場合、マーカーは残りの領域に縮みます。コンテンツ領域を残さないキャプションやマージンは候補の準備を失敗させます

スカラー Unicode キャプション

スカラーのキャプションテキストは Unicode と区切り文字を正確に保持し、そのウィジェットの off、on、neutral のすべてのアピアランスから参照される、実際の埋め込みフォント Form XObject になります

キャプションは状態をまたいで 1 つのアピアランスとフォントグラフを共有し、UTF-16 ユニットは TXFAHeadlessPDFResult.GlyphUnits でウィジェットごとに 1 回だけ数えられます

left と right はキャプション幅を、top と bottom は高さを確保します。省略または 0 の reserve では、指定フォントの実際のグリフ送り幅と行メトリックから自然なキャプション範囲を計算します

インラインのキャプションはマーカーの前に置かれ、明示的な reserve を無視します。キャプションのマージンは、割り当て領域内にテキストを内側へ寄せます

キャプションのフォントサイズと塗り色はフィールドのサイズと色に優先し、キャプションの段落配置はフィールドの配置に優先します。CaptionFontFamilies で実際のスタイルフェイスと名前付きファミリーを供給できます

hidden と inactive のキャプションは領域を占有せずフォントグラフも確保しません。invisible のキャプションは描画やキャプショングリフの確保なしに領域を保持します

リッチキャプションコンシューマはさらに、実効的な XHTML、実際に設定されたスタイルフェイスとファミリー選択、混在行メトリック、折り返し後のキャプション高さを消費します

第 3 のチェックボックス状態

allowNeutral が有効なとき、3 番目の保存項目は neutral チェックボックスのエクスポートです。一致する値は、固有の /AP /N エントリを持つネイティブ /V とウィジェット /AS を保持します

neutral のアピアランスは空のアウトラインと同じキャプションを描きますが、チェック済みマークは描きません

チェックボックスの /Opt 配列は PDF のボタンフィールドモデルが要求するとおり、単一ウィジェットに対して on エクスポート 1 エントリを保ちます。3 番目の保存アピアランス状態が 2 つ目のウィジェットオプションを追加することはありません

空のエクスポート、予約済みの Off 名、XFAOn で始まる名前には、XFAOn に続けて UTF-8 バイトを大文字 16 進にした衝突しないネイティブ状態エイリアスが与えられます。3 番目の元のエクスポートは保存済み状態名から復元できます

ラジオメンバーは 3 番目の項目を無視し、既存の 2 状態アピアランス辞書とテンプレート/データスコープのグループ識別子を保持します

アダプタは初期状態グラフを永続化します。アプリケーションが後で行うネイティブのボタン編集操作には、独自の状態とアピアランスの契約があります

ネイティブインスタンスプロパティとトランザクション

checkButton の size、shape、mark、allowNeutral の既定値はネイティブランタイムスキーマから取得できます。存在しない checkButton の border と margin プロパティは既存のプロパティトランザクションで作成できます

実効的な繰り返しインスタンスの checkButton、caption、font、margin プロパティは SaveToBytes の後も生き残り、自動生成された対応 PDF ウィジェットを直ちに制御します。最初の繰り返しインスタンスは独立したプロパティを保持します

リテラルの UTF-8 イベントソースと Unicode バインディング値は、保存済み XDP の変換前までスカラーを保持します。ネイティブ JavaScript イベントで変更されたキャプションテキストも含みます。HPDFXFAExecuteJavaScriptEvent を参照してください

スクリプト失敗時は作成前の正確なネイティブ XML が復元され、準備失敗時は出力先の位置、長さ、バイトが保たれます。グリフ、オブジェクト、フォントの各予算とキャンセルは自動クリエーターのトランザクション境界を維持します

受け入れテストソース

Tests/Linux/XFAHeadlessBooleanStylesTests.pas は、リーダー UI を開かずに実際のマークペア、キャプション、neutral と予約状態、繰り返しインスタンスのスクリプト変更、ロールバックの各ケースを生成します

Tests/Linux/Verify-XFAHeadlessBooleanStyles.py は、pypdf と MuPDF で実際の保存状態辞書、共有フォントリソース、キャプション配置、Unicode テキスト、マーカーピクセルの差を検査します

ブールコールバックメタデータは、ネイティブクリエーターが消費する追加的なトランスポートヒントを記述します