シナリオ:システム主導型通信の作成

このシナリオでは、通信を作成アプリケーションを使用せずにレターを生成する方法について説明します。

レター生成の API

Asset Compose 構築ブロックは、レターを生成できるようにするAPI を(LetterRenderService で)公開します。API を使用すると、自動化されたプロセスを使用したり、通信を作成アプリケーションを開かずにレターをレンダリングするアプリケーションを作成したりできます。

注意: レンダリングされたレターでは、ターゲット領域に、事前に選択済みの必須コンテンツのみが含まれています。ユーザーに関連するフィールドや変数は空でレンダリングされ、警告メッセージが記録されます。

レターオブジェクトの使用

次の API は、レターオブジェクトを使用してレターをレンダリングします。

public PDFResponseType renderLetter(Letter letter, String initialDataXML, boolean mergeDataOnServer, boolean useTestData, boolean renderInteractive);
パラメーターの詳細:
letter
このレターテンプレートは、必要なすべてのデータと割り当て値が含まれる完全なレターオブジェクトである必要があります。

initialDataXML
レターのレイアウトをマージした XML データ。コンテンツプロバイダーから XML データを取得できます。

この XML データを使用して、レターで使用されているデータディクショナリを初期化します(存在する場合)。この XML は、レターで使用されているモジュールの関連コンテンツを含めるように ICC コントロールデータで拡張されています。拡張された XML は、レターのレイアウトテンプレートにマージされ、最終出力 PDF を生成します。

mergeDataOnServer
このパラメーターを TRUE に設定して、関連するデータをレターにマージします。

useTestData
レンダリングでテストデータを使用するかどうかを指定します。実稼働システムでは FALSE に設定します。

renderInteractive
インタラクティブな PDF ファイルをレンダリングするか、非インタラクティブな(フラットな)PDF ファイルをレンダリングするかを指定します。

API は com.adobe.icc.render.obj.PDFResponseType オブジェクト型を返します。これを使用すると、PDFResponseType.getFile().getDocument() を使用して、レンダリングされた最終出力 PDF コンテンツを抽出できます。

ポートフォリオ生成の API

Asset Composer 構築ブロックは、自動プロセスを介してポートフォリオを生成できる API を公開します。ポートフォリオ内では、レターの PDF はインタラクティブです。

注意: API を使用する代わりに、Assembler サービスを使用する後処理を作成して PDF ポートフォリオを生成できます。ポートフォリオを生成するには、レターの最終的な PDF と、プロセスが他のソースから取得できるその他の PDF ドキュメントのセットを提供します。

ポートフォリオオブジェクトの使用

次の API は、ポートフォリオオブジェクトを使用してポートフォリオをレンダリングします。

public PDFResponseType renderPortfolio(Portfolio portfolio, String dataXML);

パラメーターの詳細:

Portfolio
このポートフォリオテンプレートは、必要なすべてのドキュメントとデータが含まれる完全なポートフォリオオブジェクトである必要があります。

dataXML
レターのレイアウトにマージする XML データ(レターがポートフォリオでドキュメントとして使用されている場合)。このデータは、コンテンツプロバイダーから取得した XML データの場合もあります。

この XML データを使用して、レターで使用されているデータディクショナリを初期化します(存在する場合)。この XML は、レターで使用されているモジュールの関連コンテンツを含めるように ICC コントロールデータで拡張されています。拡張された XML は、レターのレイアウトテンプレートにマージされ、最終出力 PDF を生成します。

API は com.adobe.icc.render.obj.PDFResponseType オブジェクト型を返します。これを使用すると、PDFResponseType.getFile().getDocument() を使用して、レンダリングされた最終出力 PDF コンテンツを抽出できます。