レイアウトデザイン

最終更新日: 2023-11-15
  • 作成対象:
  • User

XFA フォームテンプレートまたは XDP は、次のテンプレートです。

XDP は Adobe Forms Designer でデザインします。この記事では、フォームフィールドやターゲット領域を使用する場所や、どういった場合にレイアウトフラグメントを使用するかなど、効率的な通信やインタラクティブ通信を作成するための XDP のデザイン方法について説明します。

レターまたはインタラクティブ通信の印刷チャネル用のレイアウトを作成する

レイアウトを使用して、レターまたはインタラクティブ通信の印刷チャネルの外観を定義します。レイアウトには、「アドレス」や「参照番号」などの一般的なフォームフィールドを含めることができます。また、ターゲット領域を示す空のサブフォームも含みます。フォームデザイナーでレイアウトを作成し、完了したら、アプリケーションスペシャリストがAEMサーバーにレイアウトをアップロードします。 通信テンプレートを作成する際、またはインタラクティブ通信の印刷チャネルを作成する際に、ここからレイアウトを選択できます。

Designer:レイアウトを作成する

インタラクティブ通信のレター/印刷チャネルのレイアウトを作成するには、次の手順に従います。

  1. レイアウトを分析し、すべてのページで繰り返されるコンテンツを決定します。通常、このカテゴリに適したページのヘッダーとフッターです。 このコンテンツは、レイアウトのマスターページに配置されます。 残りのコンテンツはレイアウトのボディページに移動します。 ポリシージャケットでは、ロゴと会社の住所をマスターページのヘッダーおよびフッターに追加できます。 例えば、キャンセル通知の場合も同じレイアウトが使用されます。

  2. ボディページをデザインする場合は、ページのコンテンツを複数のセクションに分割します。 各セクションは、レイアウト自体に埋め込まれるサブフォーム、またはフラグメントレイアウトとしてデザインされます。 セクションにテーブルが含まれる場合は、セクションをレイアウトフラグメントとしてモデル化します。

  3. レイアウトは、次のように設計できます。

    1. 各セクションを、セクションのすべての要素を含む個別のサブフォームとして作成します。
    2. 各セクションサブフォームを、同じ親サブフォームの子にします。 親サブフォームのレイアウトがフローに設定され、前のセクションでマージされた大きなデータがある場合に、セクションを下に移動できるようになります。
    3. セクションプライマリの住居は、他のレイアウトでも再利用できます。 フラグメントレイアウトとして作成します。
    4. セクション追加の関心の詳細には、2 つの要素のみが次の階層に配置され、大きなデータを含むことができ、フローレイアウトとして設計されます。
    5. その他のセクションには、特定の位置に要素が含まれるので、位置固定レイアウトとして設計されます。
    6. セクションに特定の位置の要素が含まれ、これらの要素に大量のデータが含まれている場合は、セクションをサブフォームに分割します。 次に、目的の動作を実現するようにサブフォームを配置します。
    7. 「プライマリの住居」セクションに、プレースホルダーのターゲット領域を追加します。 このプレースホルダーは、レター/インタラクティブプライマリの設計時に、フラグメント通信の住居にバインドされます。
    8. レイアウト(およびレイアウトを使用するフラグメントがある場合は、それを使用)をAEM Formsサーバーにアップロードします。

XDP テンプレートでのサブフォームの使用

インタラクティブ通信の作成に必要なレイアウトを分析したら、Forms Designer を使用して XDP テンプレートにサブフォームを作成できます。XDP テンプレートで使用される空のサブフォームコンポーネントにより、インタラクティブ通信の印刷チャンネルにターゲット領域が表示されます。

メモ

XDP テンプレートのサブフォームコンポーネントにコンテンツを追加する代わりに、インタラクティブ通信の印刷チャンネルにコンテンツを追加します。ドキュメントフラグメント、グラフ、画像、レイアウトフラグメントを使用して、印刷チャンネルのターゲット領域にコンテンツを追加します。

XDP テンプレートでサブフォームを使用するには、以下の手順を実行します。

  1. テンプレート作成用のフォームを表示するには、Forms Designer を開き、ファイル新規空白のフォームを使用​を選択し、「次へ」、「完了」の順にタップします。

    ウィンドウ​メニューから「オブジェクトライブラリ」および「オブジェクト」オプションが選択されていることを確認します。

  2. サブフォーム​コンポーネントを​オブジェクトライブラリ​からフォームにドラッグアンドドロップします。

    コンポーネントデザイナー

  3. サブフォームを選択すると、右側のペインの​オブジェクト​ウィンドウにサブフォームのオプションが表示されます。

  4. サブフォーム」タブを選択し、「コンテンツ」ドロップダウンリストから「フローレイアウト」を選択します。長さを調整するには、サブフォームの左のエンドポイントをドラッグします。

    フローサブフォーム

  5. 連結」タブで、次のように設定します。

    1. サブフォームの名前を 名前 フィールドに指定します。
    2. データ連結」ドロップダウンリストから「データ連結なし」を選択します。
  6. 同様に、左のウィンドウからルートサブフォームを選択します。

    ルートサブフォーム

  7. サブフォーム」タブを選択し、「コンテンツ」ドロップダウンリストから「フローレイアウト」を選択します。「連結」タブで、次の手順を実行します。

    1. サブフォームの名前を 名前 フィールドに指定します。
    2. データ連結」ドロップダウンリストから「データ連結なし」を選択します。

    手順 2~5 を繰り返して、XDP テンプレートにさらにサブフォームを追加します。 インタラクティブ通信のオーサリング時にのみ、テキスト、ドキュメントフラグメント、画像、グラフをターゲット領域に追加します。

  8. ローカルのファイルシステムにファイルを保存するには、ファイル名前を付けて保存​を選択して、次の手順を実行します。

    1. ファイルを保存する場所に移動し、XDP テンプレートの名前を指定します。

    2. 選択 .xdp から 名前を付けて保存 」ドロップダウンリストから選択できます。

    3. 保存」をタップします。

XDP テンプレートでの画像フィールドコンポーネントの使用

XDP テンプレートの画像フィールドまたはサブフォームコンポーネントを使用し、インタラクティブ通信のオーサリング時に画像を追加します。

メモ

XDP テンプレートの画像フィールドまたはサブフォームコンポーネントに画像を追加する代わりに、インタラクティブ通信の印刷チャネルに画像を追加します。詳しくは、 インタラクティブ通信にコンテンツを追加するを参照してください。

XDP テンプレートで画像フィールドコンポーネントを使用するには、次の手順を実行します。

  1. 画像フィールド​コンポーネントを​オブジェクトライブラリ​からフォームにドラッグ&ドロップします。

  2. サブフォームを選択すると、右側のペインの​オブジェクト​ウィンドウでサブフォームのオプションが表示されます。

  3. 連結」タブで、次のように設定します。

    1. 名前 」フィールドに画像フィールドの名前を指定します。
    2. データ連結」ドロップダウンリストから「データ連結なし」を選択します。

レイアウトフラグメント用に XDP テンプレートを作成する

Forms Designer のテーブルコンポーネントを使用してレイアウトフラグメントを作成し、それらを使ってインタラクティブ通信の印刷チャネルオーサリング中にテーブルを作成します。印刷チャネルを使用して web チャネルを自動生成する場合、レイアウトフラグメントを使用してテーブルを作成すると、テーブルのコンテンツの構造が維持されます。

メモ

テーブルのセルにテキストを入力するか、インタラクティブ通信のオーサリング時にのみフォームデータモデルオブジェクトとの連結の作成をします。

Forms Designer を使用して XDP テンプレートでテーブルコンポーネントを使用するには、次の手順を実行します。

  1. テーブル​コンポーネントを​オブジェクトライブラリ​からフォームにドラッグ&ドロップします。

  2. テーブルの挿入​ダイアログで、次の手順を実行します。

    1. テーブルの行数と列数を指定します。
    2. テーブルにヘッダー行を含める」チェックボックスをオンにして、テーブルヘッダーの行を含めます。
    3. OK」をタップします。
  3. テーブル名の横の左ペインで + をタップして、ヘッダーと他の行に含まれるセル名を右クリックし、オブジェクト名を変更​を選択してテーブルセルの名前を変更します。

  4. デザインビュー​でテーブルヘッダーのテキストフィールドをクリックして、名前を変更します。

  5. テキストフィールド​コンポーネントを​オブジェクトライブラリ​から​デザインビュー​の各テーブルセルにドラッグ&ドロップします。この手順を実行すると、インタラクティブ通信のオーサリング時に、テーブルのセルをフォームデータモデルオブジェクトに連結できるようになります。

    テーブルのテキストフィールド

  6. 左のペインから行の名前を選択し、オブジェクト連結各データアイテムについて行を繰り返す​を選択します。この手順を実行すると、コレクション型のフォームデータモデルオブジェクトを持つこの行のテーブルセル間に連結が作成された場合、データベースで使用可能な各データ項目に対して、テーブル行が自動的に繰り返されます。

    テーブルのセルにテキストを入力するか、 インタラクティブ通信のオーサリング時にのみフォームデータモデルオブジェクトとの連結の作成をします。

  7. ローカルのファイルシステムにファイルを保存するには、ファイル名前を付けて保存​を選択して、次の手順を実行します。

    1. ファイルを保存する場所に移動し、XDP テンプレートの名前を指定します。

    2. 選択 .xdp から 名前を付けて保存 」ドロップダウンリストから選択できます。

    3. 保存」をタップします。

AEM Forms サーバーに XDP テンプレートをアップロードする

Forms Designer を使用して XDP テンプレートを作成したら、そのテンプレートをAEM Formsサーバーにアップロードして、インタラクティブ通信の作成時に使用できるようにする必要があります。

  1. フォームフォームとドキュメント​を選択します。
  2. 作成ファイルのアップロード​をタップします。
  3. ローカルファイルシステム上の XDP テンプレートの場所に移動して、「開く」をタップして、XDP テンプレートを AEM Forms サーバーに読み込みます。

スキーマの使用

レイアウトまたはレイアウトフラグメントでスキーマを使用できますが、必須ではありません。 スキーマを使用する場合は、次の点を確認します。

  1. レター/インタラクティブ通信で使用されるレイアウトとすべてのフラグメントレイアウトは、レター/インタラクティブ通信と同じスキーマを使用します。
  2. データの入力が必要なフィールドは、すべてスキーマに連結されます。

関連付け可能なフィールドの作成

デフォルトでは、すべてのフィールドは他の様々なデータソースと関連付け可能と見なされます。 レイアウトにデータソースと関連付け可能でないフィールドが含まれる場合は、そのフィールドに「_int」(内部)サフィックスを付けます。例えば、pageCount_int のように指定します。

関連付け可能なフィールドには、次の条件が当てはまります。

  • XFA <field> または <exclGroup>
  • XFA 連結参照を持つ
  • もしそれが <exclgroup>、少なくとも 1 つの子ラジオボタンフィールドが必要です。それ以外の場合は、値の型を決定できません

関連付け可能なフィールドには、次の条件が当てはまります。

  • 名前がある

関連付け可能なフィールドは次のことはできません。

  • 名前に「_int」サフィックスを含める
  • 連結が「なし」に設定されている
  • <exclGroup> 要素の子である

関連付け可能なフィールドが上記の基準を満たす限り、レイアウト内の任意の場所と任意の深さで配置できます。 マスターページ内で関連付け可能なフィールドを使用できます。

レイアウト設定では、ターゲット領域のサブフォームよりもフィールドの方が柔軟です。ただし、単一の値の型に結び付けられています。 フィールドを大きくしたり、幅と高さを固定したりできます。 解決されたモジュールまたはルールの結果が、フィールドにプッシュされます。

サブフォームとテキストフィールドを使用するタイミングの決定

トップダウンの垂直フローレイアウト(複数の段落または画像)で複数のモジュールコンテンツを取り込む場合は、サブフォームを使用します。 レイアウトは、サブフォームのコンテンツに合わせて高さが拡大されるという点に対応する必要があります。 サブフォーム/ターゲットに関連付けられたコンテンツの長さがレイアウトのサブフォーム用に確保されたスペースを超えていないと確信できない場合は、フローサブフォームコンテナ内に子としてサブフォームを作成します。 このプロセスにより、サブフォームの下のレイアウトオブジェクトは、サブフォームの拡大に応じて下方にフローします。

モジュールデータやデータディクショナリ要素のデータをレイアウトのスキーマに取り込む場合は、フィールドを使用します。フィールドはデータに連結されているためです。 マスターページ内のコンテンツは本文ページのコンテンツと共にフローできないので、画像フィールドをヘッダーロゴとして使用する必要があります。 次の表に、レイアウトでサブフォームとフィールドのどちらを使用するかについて、その他の条件を示します。

サブフォームを使用する場合

テキストフィールドを使用する場合

姓と名など、要素の組み合わせが含まれます

ポリシー番号など、単一の要素が含まれます。

複数の段落が含まれます。

テキストを折り返し、両端揃えします。

繰り返し、オプションおよび条件付きのデータグループはサブフォームに連結され、スクリプトを使用して同じ結果を得る場合に発生する可能性のある設計エラーのリスクを軽減します

組織のロゴや住所などの要素は、レター/インタラクティブ通信のすべてのページに表示されます。 この場合、これらの要素のフォームフィールドを作成し、マスターページに配置します。 フィールドの連結を「データ連結なし」に設定した場合、レター/インタラクティブ通信エディターでは、関連付け可能なフィールドとしてフィールドが表示されません。 これらのフィールドに何らかの種類のコンテンツを関連付ける場合は、連結が必要です。

会社の住所に複数行のデータが含まれる場合は、テキストフィールドの「複数行」オプションを使用して、レイアウト上の住所を表します。

テキストフィールドのデータタイプがプレーンテキストに設定されている場合、リッチテキストバージョンの代わりに、モジュール出力のプレーンテキストバージョンが使用されます(すべての書式が破棄されます)。 書式設定を保持するには、テキストフィールドのデータタイプをリッチテキストに設定します。

テキストをフローします

テキストフィールドと画像フィールドは、マスターページで使用されます。 マスターページでは、サブフォームをターゲット領域として使用できません。

サブフォームをデータ要素に連結せずに、オブジェクトをグループ化し、整理する

サブフォーム内にテキストフィールドがあります。 サブフォームは拡大しても、レイアウト上のサブフォームの下にある他のオブジェクトは上書きされません。

後処理で、そのデータに簡単にアクセスできる必要があります。

繰り返し要素の設定

組織のロゴや住所などの要素がレターやインタラクティブ通信のすべてのページに表示される場合は、それらの要素のフォームフィールドを作成し、マスターページに配置します。 これらのフィールドには名前(フィールド名)の連結を使用します。

サーバーレンダリング形式の指定

レイアウトのサーバーレンダリング形式をダイナミック XML フォームに使用します。使用しない場合、このレイアウトに基づくレター/インタラクティブ通信は正しくレンダリングできません。 デフォルトでは、Forms Designer のサーバーレンダリング形式はダイナミック XML フォームに設定されています。 正しい形式を使用していることを確認するには、次の手順を実行します。

  • Designer で、ファイルフォームのプロパティデフォルト​をクリックし、「PDF 描画形式」設定を「ダイナミック XML フォーム」に設定します。

このページ