レイアウトデザイン

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を開き、ファイル /新規 /空のフォームを使用、「次へ」をタップし、「完了」をタップしてテンプレート作成用のフォームを開きます。

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

  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. 左側のウィンドウから行の名前を選択し、Object > Binding > Repeat Row for Each Data Item​を選択します。 この手順を実行して、コレクション型のフォームデータモデルオブジェクトを持つこの行のテーブルセル間に連結が作成された場合、データベースで使用可能な各データアイテムに対してテーブル行が自動的に繰り返されるようにします。

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

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

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

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

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

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

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

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

スキーマの使用

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

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

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

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

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

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

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

  • 名前がある

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

繰り返し要素の設定

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

サーバーのレンダリング形式を指定します。

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

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

このページ