レイアウトデザイン

XFA フォームテンプレートまたは XDP は、以下の項目のテンプレートです。

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

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

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

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

レターのレイアウトまたはインタラクティブ通信の印刷チャネルのレイアウトを作成するには、以下の手順を実行します。

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

  2. ボディページのデザインでは、ページのコンテンツをセクション分けします。各セクションはレイアウト自体に埋め込むサブフォームや、フラグメントレイアウトとしてデザインできます。セクションに表が含まれる場合、セクションをレイアウトフラグメントとして設計します。

  3. レイアウトは次のようにデザインできます。

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

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

インタラクティブコミュニケーションの作成に必要なレイアウトを分析したら、Formsデザイナを使用してXDPテンプレート内にサブフォームを作成できます。 XDPテンプレートで使用される空のサブフォームコンポーネントは、Interactive Communicationの印刷チャネルにターゲット領域を表示する結果になります。

メモ

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

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

  1. Formsデザイナーを開き、ファイル/新規/空のフォームを使用​を選択し、「次へ」をタップして、「完了」をタップして、テンプレート作成用にフォームを開きます。

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

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

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

  3. 右側のペインの「オブジェクト」ウィンドウのサブフォームを表示するには、「サブフォーム」を選択します。

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

    フローサブフォーム

  5. 連結」タブで、次の操作を行います。

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

    ルートサブフォーム

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

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

    手順2 ~ 5を繰り返して、XDPテンプレートにサブフォームをさらに追加します。 イン追加タラクティブコミュニケーションの作成時に限り、テキスト、ドキュメントフラグメント、画像、グラフ](/docs/experience-manager-65/forms/interactive-communications/create-interactive-communication.html?lang=ja#step2)をターゲット領域に[送信します。

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

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

    2. ファイルの種類」ドロップダウンリストから​.xdp を選択します。

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

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

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

メモ

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

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

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

  2. 右側のペインの「オブジェクト」ウィンドウのサブフォームを表示するには、「サブフォーム」を選択します。

  3. 連結」タブで、次の操作を行います。

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

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

Formsデザイナーの表コンポーネントを使用してレイアウトフラグメントを作成し、それを使用して表を作成します。また、インタラクティブコミュニケーションの印刷チャネルを作成する際にも同様です。 レイアウトフラグメントを使用してテーブルを作成すると、印刷チャネルを使用してWebチャネルーを自動生成した場合に、テーブルのコンテンツの構造が維持されます。

メモ

テーブルセルにテキストを入力するか、インタラクティブ通信の作成時にのみ、フォームデータモデルオブジェクト](/docs/experience-manager-65/forms/interactive-communications/create-interactive-communication.html?lang=ja#step2)との連結を作成します。[

次の手順を実行して、Formsデザイナを使用してXDPテンプレートの表コンポーネントを使用します。

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

  2. テーブルを挿入​ダイアログで、次の操作を行います。

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

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

  5. テキストフィールド​コンポーネントを​オブジェクトライブラリ​から​デザイン表示​の各テーブルセルにドラッグ&ドロップします。 対話型通信を作成する際に、テーブルのセルとフォームデータモデルのオブジェクトを連結するには、次の手順を実行します。

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

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

    テーブルセルにテキストを入力するか、インタラクティブ通信の作成時にのみ、フォームデータモデルオブジェクト](/docs/experience-manager-65/forms/interactive-communications/create-interactive-communication.html?lang=ja#step2)との連結を作成します。[

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

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

    2. ファイルの種類」ドロップダウンリストから​.xdp を選択します。

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

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

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

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

スキーマの使用

レイアウトまたはレイアウトフラグメント内でスキーマを使用できますが、必ず使用しなければならないわけではありません。スキーマを使用する場合は、以下の点に注意してください。

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

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

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

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

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

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

  • 名前がある

次の条件の関連付け可能なフィールドは禁止されています。

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

関連付け可能なフィールドが上記の条件を満たす限り、レイアウトの任意の位置、任意の深さの入れ子に配置できます。マスターページ内で関連付け可能なフィールドを使用できます。

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

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

トップダウンの縦型フローレイアウトの複数モジュールコンテンツ(複数の段落や画像)をキャプチャする場合、サブフォームを使用します。このレイアウトは、コンテンツに合わせてサブフォームの高さが増加することに対処する必要があります。サブフォームまたはターゲットに関連付けられるコンテンツが、レイアウトでサブフォーム用に予約したスペースを超えないと確信できない場合、フローされるサブフォームコンテナ内の子としてサブフォームを作成します。このプロセスによって、サブフォームの下のレイアウトオブジェクトは、サブフォームの成長に合わせて下方にフローします。

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

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

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

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

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

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

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

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

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

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

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

テキストをフローします。

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

サブフォームがデータ要素に連結されずに、オブジェクトがグループ化および編成されます。

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

後処理時にフィールドのデータにアクセスしやすくする必要があります。

繰り返し要素の設定

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

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

ダイナミック XML フォームに対して、レイアウトのサーバーレンダリング形式を使用する必要があります。この形式を使用しないと、このレイアウトをベースとするレターやインタラクティブ通信が正しくレンダリングされません。デフォルトで、ADEP Designer のサーバーレンダリング形式はダイナミック XML フォームに設定されています。正しい形式を使用していることを確認するには、次の手順を実行します。

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

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free