レイアウトデザイン

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 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」(internal)というサフィックスの名前を付けます(例えば、pageCount_int)。

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

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

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

  • 名前がある

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

繰り返し要素の設定

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

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

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

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

このページ