出力サービスは、AEM ドキュメントサービスの一部である OSGi サービスの一種です。Outputサービスは、AEM Formsデザイナーの様々な出力形式と出力設計機能をサポートしています。 出力サービスでは、XFA テンプレートと XML データを変換することにより、様々な形式の印刷ドキュメントを生成することができます。
出力サービスにより、以下のような機能を備えたアプリケーションを作成することができます。
Output サービスは、32 ビットアプリケーションです。Microsoft Windows では、32 ビットアプリケーションが使用できるメモリは最大 2 GB です。この制限は Output サービスにも適用されます。
通常、テンプレートは AEM Forms Designer を使用して作成します。これらのテンプレートは、出力サービスの generatePDFOutput
と generatePrintedOutput
の各 API により、PDF、ポストスクリプト、ZPL や PCL などの様々な形式に直接変換することができます。
generatePDFOutput
操作はPDFを生成し、generatePrintedOutput
操作はPostScript、ZPL、およびPCL形式を生成します。 各演算の最初のパラメータは、テンプレートファイルの名前(例えば、ExpenseClaim.xdp
)、またはテンプレートが含まれているドキュメントオブジェクトのいずれかを受け取ります。テンプレートファイルの名前を指定した場合は、テンプレートを含むフォルダへのパスとしてのコンテンツルートも指定します。コンテンツルートは、PDFOutputOptions
またはPrintedOutputOptions
パラメーターを使用して指定できます。 これらのパラメータを使用して指定できる他のオプションの詳細については、Javadoc を参照してください。
2番目のパラメータは、出力ドキュメントを生成しながら、テンプレートに結合された XML 文書を受け取ります。
generatePDFOutput
演算では、XFA ベースの PDF フォームを入力として受け取り、出力として非インタラクティブの PDF フォームを返すこともできます。
たとえば、1 つ以上のテンプレートが存在しており、各テンプレートには XML データの複数のレコードがあるシナリオを考えてみましょう。
各レコードの印刷文書を生成するために、出力サービスの generatePDFOutputBatch
と generatePrintedOutputBatch
の演算を使用します。
また、単一のドキュメントにレコードを組み合わせることもできます。いずれの演算でも、4 つのパラメータが必要です。
最初のパラメータはマップであり、この中には、任意の文字列が鍵として、およびテンプレートファイルの名前が値として収められています。
2番目のパラメータは別のマップです。この値は、XML データを含むドキュメントオブジェクトです。この鍵は、最初のパラメータに指定したものと同じものです。
generatePDFOutputBatch
またはgeneratePrintedOutputBatch
の3番目のパラメーターは、それぞれPDFOutputOptions
型またはPrintedOutputOptions
型です。
パラメーターの型は、generatePDFOutput
操作とgeneratePrintedOutput
操作のパラメーターの型と同じで、同じ効果を持ちます。
4番目のパラメータはBatchOptions
型で、レコードごとに別のファイルを生成できるかどうかを指定するために使用します。 このパラメータのデフォルト値は false です。
generatePrintedOutputBatch
とgeneratePDFOutputBatch
の両方が、BatchResult
型の値を返します。 値には、生成されたドキュメントのリストが含まれています。また、XML形式のメタデータドキュメントも含まれており、この中には、生成された各ドキュメントに関連する情報が収められています。