シナリオ:レイアウトとフラグメントレイアウトの作成

レイアウトで、レターのグラフィカルレイアウトを定義します。レイアウトには、「アドレス」や「参照番号」などの一般的なフォームフィールドを含めることができます。また、ターゲット領域を示す空のサブフォームも含めます。

フォーム開発者がレイアウトを作成し、作成したレイアウトはアプリケーションスペシャリストが Correspondence Management Solution にアップロードします。通信テンプレートを作成するときに、そこからレイアウトを選択できます。アプリケーションスペシャリストはテキストや画像などのコンテンツをターゲット領域にマッピングし、フォームフィールドをデータソースに連結します。

アプリケーションスペシャリストは 1 つのレイアウトを使用して、多数の異なる通信テンプレートを作成できます。例えば、以下に示す ClaimSubrogation レイアウトには複数のターゲット領域があり、これらの領域のいくつかは他のレターテンプレートで再利用できます。

フルサイズのグラフィックを表示
ClaimSubrogation レイアウト

実装の概要

Correspondence Management Solution 用のレイアウトを作成するには、次の手順を実行します。

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

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

  3. レイアウトは次のようにデザインできます。
    • 各セクションを、そのセクションのすべての要素を含む個別のサブフォームとして作成します。

    • 各セクションのサブフォームを、同一の親サブフォームの子とします。親サブフォームのレイアウトをフローに設定し、前のセクションでサイズの大きいデータがマージされた場合は、セクションを下に移動できるようにします。

    • 「主要住所」セクションは、他のレイアウトでも再利用できます。このセクションは、フラグメントレイアウトとして作成します。

    • 「関連情報」セクションは、2 つの要素のみが上下に配置されていて、サイズの大きいデータを含むことがあるので、フローレイアウトとしてデザインします。

    • その他のセクションは、要素が特定の場所にあるので、位置固定レイアウトとしてデザインします。

    • セクションの要素が特定の位置にあり、これらの要素が大量のデータを含む場合は、セクションをサブフォームに分割します。分割したサブフォームを配置し、意図どおりに動作するようにします。

    • 「主要住所」セクションに、プレースホルダーターゲット領域を追加します。このプレースホルダーは、レターのデザイン時に主要住所フラグメントに連結されます。

  4. アセットを管理ユーザーインターフェイスを使用して、レイアウトおよびフラグメントレイアウトをアップロードします。

使用ツール

  • LiveCycle Designer。レイアウトおよびレイアウトフラグメントの作成に使用します。

  • アセットを管理ユーザーインターフェイス。レイアウトおよびレイアウトフラグメントを Correspondence Management システムにアップロードするのに使用します。

チームメンバー

フォーム開発者が、このシナリオに説明されているタスクを実行します。フォーム開発者には、LiveCycle Designer の詳細な知識があります。

Correspondence Management 用レイアウトの作成

対象バージョン

LiveCycle Designer を使用してレイアウトを作成します。また、レイアウトのターゲットを XFA 2.8 以降にする必要があります。レイアウトが正しい対象バージョンを使用していることを確認するには、次の手順を実行します。

  1. LiveCycle Designer で、ファイル/フォームのプロパティ/デフォルトをクリックし、「対象バージョン」を「Acrobat/Reader 9.0」に設定します。

  2. XML ソースビューを開き、テンプレートバージョンが 2.8 であることを確認します。次に例を示します。

    <template xmlns="http://www.xfa.org/schema/xfa-template/2.8/">

  3. テンプレートノードで originalXFA node を検索し、見つかった場合は削除します。次に例を示します。

    <?originalXFAVersion http://www.xfa.org/schema/xfa-template/2.6/?>

  4. XML ソースにすべての変更を適用するには、別のビューに切り替えます。

ターゲット領域のサブフォームの作成

デフォルトで、コンテンツが空のすべてのサブフォームはターゲット領域と見なされます。レイアウトに、ターゲット領域と見なされない空のサブフォームが含まれる場合は、そのサブフォームに「_int」(internal)というサフィックスの名前を付けます(例えば、subformWithScript_int)。空のサブフォームをフラグメントとして使用します。これには、様々なフォームで使用される一連のスクリプトオブジェクトのみが含まれます。この場合、サブフォームは空に見えますが、ターゲット領域と見なされません。コンテンツと見なされるノードは、area、draw、exclGroup、exObject、field、subform および subformSet です。

ターゲット領域サブフォームには、次のデータが必要です。

  • 名前

  • 幅(拡張不可能)

  • 位置(x、y)

  • フロー可能

次の条件のターゲット領域のサブフォームは禁止されています

  • 連結がある(連結は「なし」に設定します)

  • コンテンツが含まれる(タイプ area、draw、exclGroup、exObject、field、subform または subformSet の子ノード)

  • 名前に「_int」サフィックスが含まれる

  • マスターページに配置されている

スキーマの使用

レイアウトまたはフラグメントレイアウトでスキーマが使用できますが、必須ではありません。スキーマを使用する場合、次の事項を守ってください。
  • レターで使用するレイアウトおよびすべてのフラグメントレイアウトでは、レターと同じスキーマを使用します。

  • データの入力が必要なフィールドはすべて、スキーマに連結されます。

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

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

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

  • XFA <field> または <exclGroup>

  • XFA 連結参照を持っている

  • <exclGroup> の場合、少なくとも 1 つの子ラジオボタンフィールドが必要(それ以外の場合、値の型は決定できません)

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

  • 名前がある

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

  • 名前に「_int」サフィックスが含まれる

  • 連結が「なし」に設定されている

  • <exclGroup> 要素の子である

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

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

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

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

モジュールデータまたはデータディクショナリ要素データをレイアウトのスキーマにキャプチャする場合や、モジュールコンテンツをマスターページに表示する場合、フィールドを使用します。マスターページのコンテンツはボディページのコンテンツと共にフローできないので、画像フィールドは必ずヘッダーロゴとして使用します。例えば、元のサイズで画像コンテンツを表示するのではなく、画像コンテンツをコンテンツ領域に固定するように設定する場合です。そうしないと、画像が大きい場合、画像はボディページコンテンツの下に表示されます。

次の表に、レイアウトにサブフォームとフィールドのどちらを使用するかについて、その他の条件を示しています。

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

繰り返し要素の設定

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

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

レイアウトのサーバーレンダリング形式をダイナミック XML フォームに設定します。そうしないと、このレイアウトに基づくすべてのレターが正しくレンダリングされません。デフォルトで、LiveCycle Designer のサーバーレンダリング形式はダイナミック XML フォームに設定されています。正しい形式を使用していることを確認するには、次の手順を実行します。

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

ベストプラクティス、ヒントおよびテクニック

デフォルトのサブフォームの連結の設定

LiveCycle Designer でターゲット領域を作成する場合、簡単にすべての新しいサブフォームのデフォルトの連結を「なし」に設定できます。デフォルトの連結を設定するには、次の手順を実行します。

  1. LiveCycle Designer で、ツールオプションデータ連結サブフォームの連結をクリックします。

  2. 「新規サブフォーム」リストの「デフォルトの連結」で、「データ連結なし」を選択します。

    これを選択すると、挿入サブフォームコマンドを使用するか、オブジェクトパレットからドラッグアンドドロップして挿入したサブフォームは、デフォルトで連結が「なし」になります。つまり、デフォルトですべての新しいサブフォームは、コンテンツを追加するか、連結設定を変更するか、サフィックスが「_int」の名前をサブフォームに付けるという操作をしない限り、ターゲット領域になります。

リハビリテーション法第 508 条への準拠

通信を作成ユーザーインターフェイスで作成したレターを、今後のワークフローで入力に使用する場合、レイアウトの際には、米国リハビリテーション法第 508 条に関連する次の推奨事項に従います。そうしないと、レター PDF は単に表示用になり、これらの推奨事項を無視することになる可能性があります。

  • レイアウト内のすべてのターゲット領域のサブフォームとすべてのフィールドには、タブ順を指定します。

  • キャプションがあるフィールドは、デフォルトで 508 準拠です。フィールドの /field/assist/speak@priority 属性はデフォルトで「custom」に設定されています。つまり、カスタムのスクリーンリーダーテキストを提供しない限り、フィールドのキャプションがスクリーンリーダーによって読み取られます。

  • キャプションがないフィールドにはツールチップを指定し、スクリーンリーダーがツールチップを読み取るように指定します。これには、/field/assist/speak@priority="toolTip" を設定し、/field/assist/toolTip でツールチップのテキストを指定します。

Designer および Asset Configuration Manager での日付形式

LiveCycle Designer でレイアウトをデザインするとき、日付フィールドの形式が Asset Configuration Manager で指定した日付形式と一致していることを確認します。詳しくは、LiveCycle Designer ヘルプ「フィールド値の形式設定とパターンの使用」を参照してください。

日付の範囲のキャプチャ

startDate ~ endDate など、日付の組み合わせを処理する場合、単一のサブフォームを使用して、完成したレターの配置が正しいことを確認し、フィールドの数を最小限に抑えます。

フォームレベルの連結の設定

レイアウトに、単一の XML 要素にマッピングされるフィールドとターゲット領域が多数ある場合、フォームレベルの連結を使用し、各要素に個別のノードを作成します。Correspondence Management でデータをマッピングするときに、フォームレベルで連結されるフィールドは無視されます。

マスターページでサブフォームのターゲット領域は使用不可

マスターページのサブフォームのターゲット領域は、アセットを管理ユーザーインターフェイスで表示されません。また、データをマッピングできません。

ターゲット領域に適した位置とタイプの選択

レイアウトをデザインする場合、サブフォームの選択には注意が必要です。レイアウトに含まれるサブフォームが単一の場合、フロータイプにすることができます。サブフォームにフィールドを配置した後に、別のサブフォームでラップできます。その結果、ラップされたサブフォームもフローするようになり、レイアウトが乱れません。

マスターページへのフィールドの配置

マスターページにフィールドを配置する場合は、次の点に注意する必要があります。

  • マスターフィールドの連結を「グローバルデータによる」に設定します。

  • フィールドをマスターページの PageArea のルート直下には配置しません。

  • フィールドを名前の付いたサブフォームに含めて、名前の付いたサブフォームの連結が「名前による」に設定されていることを確認します。