ネイティブ 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 出現が作成され、それぞれが独自のスキーマ既定値を持ちます
サポートされる作成パス
| 親クラス | サポートされる子と最大出現数 |
|---|---|
| field | assist、bind、border、calculate、caption、desc、extras、font、format、keep、margin、para、traversal、ui、validate、value: 各 1 つ。items: 2 つ |
| draw | assist、border、caption、desc、extras、font、keep、margin、para、traversal、ui、value: 各 1 つ |
| ui | extras と picture: 各 1 つ。UI プロパティ上書きに記述された排他的なウィジェット選択 1 つ |
| passwordEdit, choiceList and checkButton | border、extras、margin: 各 1 つ |
| font | extras と fill: 各 1 つ |
| para | hyphenation: 1 つ |
| border | edge と corner: 各 4 つ。extras、fill、margin: 各 1 つ |
| caption | extras、font、margin、para、value: 各 1 つ |
| margin | extras: 1 つ |
| fill | color と extras: 各 1 つ。linear、pattern、radial、solid、stipple: 排他的な子 1 つ |
| textEdit | border、comb、extras、margin: 各 1 つ |
| edge and corner | color と 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