概要

出力サービスは、AEM ドキュメントサービスの一部である OSGi サービスの一種です。出力サービスは、様々な出力形式や、Adobe LiveCycle Designer ES4 の出力設計機能をサポートしています。出力サービスでは、XFA テンプレートと XML データを変換することにより、様々な形式の印刷ドキュメントを生成することができます。

出力サービスにより、以下のような機能を備えたアプリケーションを作成することができます。

  • テンプレートファイルに XML データを格納することで、最終形式のドキュメントを生成する
  • 非インタラクティブ PDF、ポストスクリプト、PCL、および ZPL のプリントストリームを含む様々な形式でフォームを出力する
  • XFA フォームの PDF ファイルから印刷用 PDF を生成する
  • 付属のテンプレートを用いて複数のデータセットを結合することにより、PDF、ポストスクリプト、PCL および ZPL の形式のドキュメントを一括生成する

非インタラクティブ形式のドキュメントを作成する

通常、テンプレートは Adobe LiveCycle Designer を使用して作成します。これらのテンプレートは、出力サービスの generatePDFOutput と generatePrintedOutput の各 API により、PDF、ポストスクリプト、ZPL や PCL などの様々な形式に直接変換することができます。

generatePDFOutput 演算は PDF を生成する一方で、generatePDFOutput 演算は、PostScript、ZPL、および PCL の形式でドキュメントを生成します。各演算の最初のパラメータは、テンプレートファイルの名前(例えば、ExpenseClaim.xdp)、またはテンプレートが含まれているドキュメントオブジェクトのいずれかを受け取ります。テンプレートファイルの名前を指定した場合は、テンプレートを含むフォルダへのパスとしてのコンテンツルートも指定します。コンテンツルートの指定には、PDFOutputOptions または PrintedOutputOptions パラメータのいずれかを使用します。これらのパラメータを使用して指定できる他のオプションの詳細については、Javadoc を参照してください。

2番目のパラメータは、出力ドキュメントを生成しながら、テンプレートに結合された XML 文書を受け取ります。

generatePDFOutput 演算では、XFA ベースの PDF フォームを入力として受け取り、出力として非インタラクティブの PDF フォームを返すこともできます。

非インタラクティブ形式のドキュメントを作成する

たとえば、1 つ以上のテンプレートが存在しており、各テンプレートには XML データの複数のレコードがあるシナリオを考えてみましょう。 

各レコードの印刷文書を生成するために、出力サービスの generatePDFOutputBatchgeneratePrintedOutputBatch の演算を使用します。

 

また、単一のドキュメントにレコードを組み合わせることもできます。いずれの演算でも、4 つのパラメータが必要です。

最初のパラメータはマップであり、この中には、任意の文字列が鍵として、およびテンプレートファイルの名前が値として収められています。

2番目のパラメータは別のマップです。この値は、XML データを含むドキュメントオブジェクトです。この鍵は、最初のパラメータに指定したものと同じものです。

generatePDFOutputBatch または generatePrintedOutputBatch の 3 番目のパラメータは、それぞれ PDFOutputOptions 型ないし PrintedOutputOptions 型です。

パラメータ型は generatePDFOutputgeneratePrintedOutput 演算のためのパラメータ型と同じであり、同じ効果を持ちます。

第 4 のパラメータは BatchOptions 型です。これは、レコードごとに別のファイルを生成するかどうかを指定するために使用します。このパラメータのデフォルト値は false です。

GeneratePrintedOutputBatchgeneratePDFOutputBatch は、共に BatchResult 型の値を返します。値には、生成されたドキュメントのリストが含まれています。また、XML形式のメタデータドキュメントも含まれており、この中には、生成された各ドキュメントに関連する情報が収められています。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー