レイアウトデザイン layout-design
XFA フォームテンプレートまたは XDP は、以下の項目のテンプレートです。
-
レイアウトフラグメント
XDP は Adobe Forms Designer でデザインします。この記事では、フォームフィールドやターゲット領域を使用する場所や、どういった場合にレイアウトフラグメントを使用するかなど、効率的な通信やインタラクティブ通信を作成するための XDP のデザイン方法について説明します。
レターまたはインタラクティブ通信の印刷チャネル用のレイアウトを作成する creating-a-layout-for-letters-or-for-interactive-communications-print-channel
レイアウトを使用して、レターまたはインタラクティブ通信の印刷チャネルの外観を定義します。レイアウトには、「アドレス」や「参照番号」などの一般的なフォームフィールドを含めることができます。また、ターゲット領域を示す空のサブフォームも含みます。Form Designer で作成したレイアウトは、アプリケーションによって AEM サーバーにアップロードされます。通信テンプレートまたはインタラクティブ通信の印刷チャネルを作成する際に、AEM サーバーでそのレイアウトを選択することができます。
レターのレイアウトまたはインタラクティブ通信の印刷チャネルのレイアウトを作成するには、以下の手順を実行します。
-
レイアウトを分析し、ページ全体で繰り返されているコンテンツを特定します。通常はページのヘッダーやフッターがこのカテゴリに当てはまります。このコンテンツは、レイアウトのメインページに配置されます。残りのコンテンツは、レイアウトのボディページに配置されます。ポリシージャケットでは、ロゴおよび会社の住所もメインページのヘッダーおよびフッターに追加できます。例えば、キャンセル通知に同じレイアウトが使用されます。
-
ボディページのデザインでは、ページのコンテンツをセクション分けします。各セクションはレイアウト自体に埋め込むサブフォームや、フラグメントレイアウトとしてデザインできます。セクションに表が含まれる場合、セクションをレイアウトフラグメントとして設計します。
-
レイアウトは次のようにデザインできます。
- 各セクションを、そのセクションのすべての要素を含む個別のサブフォームとして作成します。
- 各セクションのサブフォームを、同一の親サブフォームの子とします。親サブフォームのレイアウトをフローに設定し、前のセクションでマージされる大きなデータがある場合は、セクションを下に移動できるようにします。
- 「主要住所」セクションは、他のレイアウトでも再利用できます。このセクションは、フラグメントレイアウトとして作成します。
- 「関連情報」セクションは、2 つの要素のみが上下に配置されていて、サイズの大きいデータを含むことがあるので、フローレイアウトとしてデザインします。
- その他のセクションは、要素が特定の場所にあるので、位置固定レイアウトとしてデザインします。
- セクションの要素が特定の位置にあり、これらの要素が大量のデータを含む場合は、セクションをサブフォームに分割します。分割したサブフォームを配置し、意図どおりに動作するようにします。
- 「主要住所」セクションに、プレースホルダーターゲット領域を追加します。このプレースホルダーは、レターまたはインタラクティブ通信の設計時に、「主要住所」フラグメントに連結されます。
- レイアウトを AEM Forms サーバーにアップロードします(レイアウトを使用するフラグメントがある場合は、そのフラグメントもアップロードします)。
XDP テンプレートでのサブフォームの使用 usesubformxdp
インタラクティブ通信の作成に必要なレイアウトを分析したら、Forms Designer を使用して XDP テンプレートにサブフォームを作成できます。XDP テンプレートで使用される空のサブフォームコンポーネントにより、インタラクティブ通信の印刷チャンネルにターゲット領域が表示されます。
XDP テンプレートでサブフォームを使用するには、以下の手順を実行します。
-
テンプレート作成用のフォームを表示するには、Forms Designer を開き、ファイル/新規/空白のフォームを使用 を選択し、「次へ」、「完了」の順に選択します。
ウィンドウ メニューから「オブジェクトライブラリ」および「オブジェクト」オプションが選択されていることを確認します。
-
サブフォーム コンポーネントを オブジェクトライブラリ からフォームにドラッグアンドドロップします。
-
サブフォームを選択すると、右側のペインの オブジェクト ウィンドウにサブフォームのオプションが表示されます。
-
「サブフォーム」タブを選択し、「コンテンツ」ドロップダウンリストから「フローレイアウト」を選択します。長さを調整するには、サブフォームの左のエンドポイントをドラッグします。
-
「連結」タブで、次のように設定します。
- サブフォームの名前を 名前 フィールドに指定します。
- 「データ連結」ドロップダウンリストから「データ連結なし」を選択します。
-
同様に、左のウィンドウからルートサブフォームを選択します。
-
「サブフォーム」タブを選択し、「コンテンツ」ドロップダウンリストから「フローレイアウト」を選択します。「連結」タブで、次の手順を実行します。
- サブフォームの名前を 名前 フィールドに指定します。
- 「データ連結」ドロップダウンリストから「データ連結なし」を選択します。
手順 2~5 を繰り返して、XDP テンプレートにさらにサブフォームを追加します。インタラクティブ通信のオーサリング時にのみ、テキスト、ドキュメントフラグメント、画像、グラフをターゲット領域に追加します。
-
ローカルのファイルシステムにファイルを保存するには、ファイル/名前を付けて保存 を選択して、次の手順を実行します。
-
ファイルを保存する場所に移動し、XDP テンプレートの名前を指定します。
-
ファイルのタイプ ドロップダウンリストから .xdp を選択します。
-
「保存」を選択します。
-
XDP テンプレートでの画像フィールドコンポーネントの使用 use-image-field-component-in-an-xdp-template
XDP テンプレートの画像フィールドまたはサブフォームコンポーネントを使用し、インタラクティブ通信のオーサリング時に画像を追加します。
XDP テンプレートで画像フィールドコンポーネントを使用するには、次の手順を実行します。
-
画像フィールド コンポーネントを オブジェクトライブラリ からフォームにドラッグ&ドロップします。
-
サブフォームを選択すると、右側のペインの オブジェクト ウィンドウでサブフォームのオプションが表示されます。
-
「連結」タブで、次のように設定します。
- 「 名前 」フィールドに画像フィールドの名前を指定します。
- 「データ連結」ドロップダウンリストから「データ連結なし」を選択します。
レイアウトフラグメント用に XDP テンプレートを作成する xdplayoutfragments
Forms Designer のテーブルコンポーネントを使用してレイアウトフラグメントを作成し、それらを使ってインタラクティブ通信の印刷チャネルオーサリング中にテーブルを作成します。印刷チャネルを使用して web チャネルを自動生成する場合、レイアウトフラグメントを使用してテーブルを作成すると、テーブルのコンテンツの構造が維持されます。
Forms Designer を使用して XDP テンプレートでテーブルコンポーネントを使用するには、次の手順を実行します。
-
テーブル コンポーネントを オブジェクトライブラリ からフォームにドラッグ&ドロップします。
-
テーブルの挿入 ダイアログで、次の手順を実行します。
- テーブルの行数と列数を指定します。
- 「テーブルにヘッダー行を含める」チェックボックスをオンにして、テーブルヘッダーの行を含めます。
- 「OK」を選択します。
-
テーブル名の横の左パネルで「+」を選択して、ヘッダーと他の行に含まれるセル名を右クリックし、「オブジェクト名を変更」を選択してテーブルセルの名前を変更します。
-
デザインビュー でテーブルヘッダーのテキストフィールドをクリックして、名前を変更します。
-
テキストフィールド コンポーネントを オブジェクトライブラリ から デザインビュー の各テーブルセルにドラッグ&ドロップします。この手順を実行すると、インタラクティブ通信のオーサリング時に、テーブルのセルをフォームデータモデルオブジェクトに連結できるようになります。
-
左のペインから行の名前を選択し、オブジェクト/連結/各データアイテムについて行を繰り返す を選択します。この手順を実行すると、コレクション型のフォームデータモデルオブジェクトを持つこの行のテーブルセル間に連結が作成された場合、データベースで使用可能な各データ項目に対して、テーブル行が自動的に繰り返されます。
テーブルのセルにテキストを入力するか、 インタラクティブ通信のオーサリング時にのみフォームデータモデルオブジェクトとの連結の作成をします。
-
ローカルのファイルシステムにファイルを保存するには、ファイル/名前を付けて保存 を選択して、次の手順を実行します。
-
ファイルを保存する場所に移動し、XDP テンプレートの名前を指定します。
-
ファイルのタイプ ドロップダウンリストから .xdp を選択します。
-
「保存」を選択します。
-
AEM Forms サーバーに XDP テンプレートをアップロードする uploadxdptemplate
Forms Designer を使用して XDP テンプレートを作成したら、インタラクティブ通信の作成中にテンプレートを使用できるように、作成したテンプレートを AEM Forms サーバーにアップロードする必要があります。
- フォーム/フォームとドキュメント を選択します。
- 作成/ファイルのアップロード を選択します。
- ローカルファイルシステム上の XDP テンプレートの場所に移動して、「開く」を選択して、XDP テンプレートを AEM Forms サーバーに読み込みます。
スキーマの使用 using-schema
レイアウトまたはレイアウトフラグメント内でスキーマを使用できますが、必ず使用しなければならないわけではありません。スキーマを使用する場合は、以下の点に注意してください。
- レターまたはインタラクティブ通信内で使用されるレイアウトとすべてのフラグメントレイアウトでは、そのレターまたはインタラクティブ通信と同じスキーマが使用されます。
- データの入力が必要なフィールドはすべて、スキーマに連結されます。
関連付け可能なフィールドの作成 creating-relatable-fields
デフォルトで、すべてのフィールドは他の多様なデータソースと関連付け可能と見なされています。レイアウトに、データソースと関連付け可能ではないフィールドが含まれる場合は、そのフィールドに「_int」(internal)というサフィックスの名前を付けます(例えば、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 フォームに対して、レイアウトのサーバーレンダリング形式を使用する必要があります。この形式を使用しないと、このレイアウトをベースとするレターやインタラクティブ通信が正しくレンダリングされません。デフォルトで、ADEP Designer のサーバーレンダリング形式はダイナミック XML フォームに設定されています。正しい形式を使用していることを確認するには、次の手順を実行します。
- Designer で、ファイル/フォームのプロパティ/デフォルト をクリックし、「PDF 描画形式」設定を「ダイナミック XML フォーム」に設定します。