レイアウトデザイン layout-design
XFA フォームテンプレートまたは XDP は、次のテンプレートです。
-
レイアウトフラグメント
XDP は Adobe Forms Designer でデザインします。この記事では、フォームフィールドやターゲット領域を使用する場所や、どういった場合にレイアウトフラグメントを使用するかなど、効率的な通信やインタラクティブ通信を作成するための XDP のデザイン方法について説明します。
レターまたはインタラクティブ通信の印刷チャネル用のレイアウトを作成する creating-a-layout-for-letters-or-for-interactive-communications-print-channel
レイアウトを使用して、レターまたはインタラクティブ通信の印刷チャネルの外観を定義します。レイアウトには、「住所」や「参照番号」などの一般的なフォームフィールドを含めることができます。 また、ターゲット領域を示す空のサブフォームも含みます。フォームデザイナーでレイアウトを作成し、完了したら、アプリケーションスペシャリストがAEMサーバーにレイアウトをアップロードします。 通信テンプレートを作成する際、またはインタラクティブ通信の印刷チャネルを作成する際に、ここからレイアウトを選択できます。
インタラクティブ通信のレター/印刷チャネルのレイアウトを作成するには、次の手順に従います。
-
レイアウトを分析し、すべてのページで繰り返されるコンテンツを特定する。通常、このカテゴリにはページのヘッダーとフッターが適用されます。 このコンテンツは、レイアウトのマスターページに配置されます。 残りのコンテンツはレイアウトのボディページに移動します。 ポリシージャケットでは、ロゴと会社の住所をマスターページのヘッダーおよびフッターに追加できます。 例えば、キャンセル通知の場合も同じレイアウトが使用されます。
-
ボディページをデザインする場合は、ページのコンテンツを複数のセクションに分割します。 各セクションは、レイアウト自体に埋め込まれるサブフォーム、またはフラグメントレイアウトとしてデザインされます。 セクションにテーブルが含まれる場合は、セクションをレイアウトフラグメントとしてモデル化します。
-
レイアウトは、次のように設計できます。
- 各セクションを、セクションのすべての要素を含む個別のサブフォームとして作成します。
- 各セクションサブフォームを同じ親サブフォームの子にします。 親サブフォームのレイアウトはフローに設定され、大きなデータが前のセクションにマージされた場合に、セクションを下に移動できるようにします。
- セクションプライマリの住居は、他のレイアウトでも再利用できます。 フラグメントレイアウトとして作成します。
- セクション追加の関心の詳細には、2 つの要素のみが次の階層に配置され、大きなデータを含むことができ、フローレイアウトとして設計されます。
- その他のセクションには、特定の位置に要素が含まれるので、位置固定レイアウトとして設計されます。
- セクションに特定の位置の要素が含まれ、これらの要素に大量のデータが含まれている場合、セクションをサブフォームに分割します。 次に、目的の動作を実現するようにサブフォームを配置します。
- 「プライマリの住居」セクションに、プレースホルダーターゲット領域を追加します。 このプレースホルダーは、レター/インタラクティブプライマリの設計時に、フラグメント通信の住居にバインドされます。
- レイアウト(およびレイアウトを使用するフラグメントがある場合は、それを使用)をAEM Formsサーバーにアップロードします。
スキーマの使用 using-schema
レイアウトまたはレイアウトフラグメントでスキーマを使用できますが、必須ではありません。 スキーマを使用する場合は、次の点を確認します。
- レター/インタラクティブ通信で使用されるレイアウトとすべてのフラグメントレイアウトは、レター/インタラクティブ通信と同じスキーマを使用します。
- データの入力が必要なフィールドは、すべてスキーマに連結されます。
関連付け可能なフィールドの作成 creating-relatable-fields
デフォルトでは、すべてのフィールドは他の様々なデータソースと関連付け可能と見なされます。 レイアウトにデータソースに関連付け可能でないフィールドが含まれている場合は、そのフィールドに「_int」(内部)サフィックスを付けます。例えば、pageCount_int のように指定します。
関連付け可能なフィールドには、次の条件が必要です。
- XFA <field> または <exclGroup>
- XFA 連結参照を持つ
- もしそれが <exclgroup>、少なくとも 1 つの子ラジオボタンフィールドが必要です。それ以外の場合は、値の型を決定できません
関連付け可能なフィールドには、次の条件が必要です。
- 名前がある
関連付け可能なフィールドは次のことはできません。
- 名前に「_int」サフィックスを含める
- 連結が「なし」に設定されている
- <exclGroup> 要素の子である
関連付け可能なフィールドが上記の基準を満たす限り、レイアウト内の任意の場所と任意の深さで配置できます。 マスターページ内で関連付け可能なフィールドを使用できます。
フィールドは、ターゲット領域のサブフォームよりもレイアウト設定の方が柔軟です。ただし、単一の値タイプに結び付けられています。 フィールドを大きくしたり、幅と高さを固定したりできます。 解決されたモジュールまたはルールの結果が、フィールドにプッシュされます。
サブフォームとテキストフィールドを使用するタイミングの決定 deciding-when-to-use-subforms-and-text-nbsp-fields
トップダウンの垂直フローレイアウト(複数の段落または画像)で複数のモジュールコンテンツを取り込む場合は、サブフォームを使用します。 レイアウトは、サブフォームのコンテンツに合わせて高さが拡大されるという点に対応する必要があります。 サブフォーム/ターゲットに関連付けられたコンテンツの長さがレイアウトのサブフォーム用に確保されたスペースを超えていないと確信できない場合は、フローサブフォームコンテナ内に子としてサブフォームを作成します。 このプロセスにより、サブフォームの下のレイアウトオブジェクトは、サブフォームの拡大に応じて下方にフローします。
モジュールデータやデータディクショナリ要素のデータをレイアウトのスキーマに取り込む場合は、フィールドを使用します。フィールドはデータに連結されているためです。 マスターページ内のコンテンツは本文ページのコンテンツと共にフローできないので、画像フィールドをヘッダーロゴとして使用する必要があります。 次の表に、レイアウトでサブフォームとフィールドのどちらを使用するかについて、その他の条件を示します。
繰り返し要素の設定 setting-up-repetitive-elements
組織のロゴや住所などの要素がレターやインタラクティブ通信のすべてのページに表示される場合は、それらの要素のフォームフィールドを作成し、マスターページに配置します。 これらのフィールドには名前(フィールド名)の連結を使用します。
サーバーのレンダリング形式を指定 specify-the-server-nbsp-render-format
レイアウトのサーバーレンダリング形式をダイナミック XML フォームに使用する。そうしないと、このレイアウトに基づくレターやインタラクティブ通信は正しくレンダリングされません。 デフォルトでは、Forms Designer のサーバーレンダリング形式はダイナミック XML フォームに設定されています。 正しい形式を使用していることを確認するには、次の手順を実行します。
- Designer で、 ファイル/フォームのプロパティ/デフォルト をクリックし、「PDFのレンダリング/形式」設定が「動的 XML フォーム」に設定されていることを確認します。