ネイティブ XFA 存在しないプロパティの作成

ユニット: HPDFXFAEventScript。HPDFXFARuntime と HPDFXFA を通じて統合されます

イベントアクセス

JavaScript のフォームノードは getElement(className, occurrence=0) を公開します。存在しないサポート対象プロパティはスキーマ既定値で作成され、繰り返しアクセスは同じライブプロパティハンドルを返します

field.font や draw.para のような直接プロパティアクセスは、サポート対象の子が存在しないとき出現 0 を作成します

const label = xfa.form.resolveNode("main.row[1].label");
const font = label.getElement("font", 0);
font.typeface = "Helvetica";
font.size = "18pt";
font.fill.color.value = "0,128,255";
label.para.hAlign = "right";
label.border.getElement("edge", 3).thickness = "0.25pt";

occurrence 引数はスキーマのカーディナリティ内の非負整数でなければなりません。edge[3] を要求すると、前に欠けている edge 出現が作成され、それぞれが独自のスキーマ既定値を持ちます

サポートされる作成パス

親クラスサポートされる子と最大出現数
fieldassist、bind、border、calculate、caption、desc、extras、font、format、keep、margin、para、traversal、ui、validate、value: 各 1 つ。items: 2 つ
drawassist、border、caption、desc、extras、font、keep、margin、para、traversal、ui、value: 各 1 つ
uiextras と picture: 各 1 つ。UI プロパティ上書きに記述された排他的なウィジェット選択 1 つ
passwordEdit, choiceList and checkButtonborder、extras、margin: 各 1 つ
fontextras と fill: 各 1 つ
parahyphenation: 1 つ
borderedge と corner: 各 4 つ。extras、fill、margin: 各 1 つ
captionextras、font、margin、para、value: 各 1 つ
marginextras: 1 つ
fillcolor と extras: 各 1 つ。linear、pattern、radial、solid、stipple: 排他的な子 1 つ
textEditborder、comb、extras、margin: 各 1 つ
edge and cornercolor と extras: 各 1 つ

一覧にない子クラスは getElement から null を返します。無効な出現や競合する fill 選択の子はイベントトランザクションを失敗させます

メタデータコンテナの作成は、新しく保存されたスクリプトを実行しません。event、calculate、validate の動作は既存のランタイム実行モデルに従います

ネイティブ永続化と識別子

作成とそれに続く書き込みは、選択された繰り返し出現の下に実際のネイティブフォームパケットノードを公開します。テンプレートと他の出現は元の値を保持します

次のイベントは保存済みネイティブフォームパケットからフォーム専用プロパティバインディングを再構築するため、直接アクセスと SOM 解決のどちらでも作成された階層が見えます

保持されたスクリプトオブジェクト参照は、成功したトランザクションとインスタンス挿入の後もネイティブプロパティを指し続けます。インスタンス削除後の参照書き込みは失敗し、トランザクションを復元します

繰り返しプロトタイプのクローンはフォーム専用プロパティ構造もクローンし、新しいプロパティ属性には別の出現の上書きではなくスキーマ既定値を使います

エンジン失敗とネイティブ変更失敗は、ネイティブバイト、プロパティノード、datasets、スクリプト状態、出現順序を復元します。作成はノード、操作、深さ、バイト、値の各予算を共有します

実効コンシューマと保存 PDF 出力

フィールドとリッチ draw のコンシューマは、実際のレイアウトとフラット化の際に作成された font、fill/color、paragraph、border/edge の各プロパティを読み取ります。後続のイベントと保存済み XDP の再ロードはこれらの値を保持します

THotPDF.AutoFormAppearances=True のとき、XFA テキストフィールドは実効スタイルの適用後にネイティブアピアランスを生成します。サポート対象の標準フォントファミリー、ポイントサイズ、テキスト色、配置、実線ボーダーの色と幅も含みます

AutoFormAppearances は明示的なドキュメントオプションのままです。既定の False では引き続きリーダーのアピアランス生成に頼ります

作成と書式コンシューマの対応範囲は分かれています。追加の value 子クラスとウィジェットスキーマ、汎用スキーマクラス、プロパティの削除・親の付け替え、より豊富なウィジェットテキスト、Unicode アピアランスの埋め込みは、現在も進行中の実装対象です

関連 API

ネイティブ XFA Property DOM、XFA プロパティのスキーマ既定値、TXFAEventAction、TXFAEventBinding