プリンターへの出力の送信

このクイックスタートでは、Output サービスを使用してフォームデザインと 1 つ以上のレコードを統合し、出力をプリンターに送信する方法を説明します。

Output サービスを使用すると、レコードをフォームデザインと統合して、プリンターに送信可能な記入済みのフォームを作成できます。フォームデザインをレコードと統合するには、各フィールドに対応したフィールド名が存在する必要があります。例えば、ある組織の購買発注プロセスが完了した場合、購買発注のコンテンツを含むレコードが作成され、XML ファイルとして保存されます。XML ファイルのコンテンツがフォームデザインと統合されます。各レコードがフォームデザインと統合され、入力済みの購買発注フォームが作成されます。入力済みの購買発注が、 myprintserver1 というプリントサーバーの myprinter1 というプリンターに送信されます(印刷環境の設定には、Microsoft のサーバー ネットワーク機能を使用します)。

この組織では、 poPrintApp というアプリケーションがこのサービスを実装しています。購買発注が完了すると、そのコンテンツが poData.xml という XML ファイルのレコードとして保存されます。poProcessPrint サービスを呼び出すために poData.xml ファイルがさまざまな時間間隔で送信されます。poPrintApp アプリケーションには、次のようなアセットがあります。

  • XML データとの統合に使用する PurchaseOrder.xdp というフォームデザイン。

  • poPrintProcess というプロセス。次の項目が含まれます。

    • 購入の XML データをプロセスに渡すための、 inputXML という入力 document 変数。

    • 統合された PostScript® 出力を格納するための、 outputPS という出力 document 変数。

    • フォームデザインと XML ファイル内のレコードを統合する、「generatePrintedOutput」操作(Output サービス)。結果の出力は、印刷用の出力を表す document 値です。

  • document 値をプリンターに送信する「sendToPrinter」操作(Output サービス)。AEM forms サーバーで設定したプリンターの設定に応じて、さまざまなプリンタープロトコルの中から選択できます。

次に、poPrintPrint プロセスのプロセスダイアグラムを示します。

「generatePrintedOutput」操作と「sendtoPrinter」操作

次の XML ファイルは、購買発注リクエストから生成されました。XML ファイルには 1 つ以上のレコードを保存できます。レコードの開始と終了の位置を判断するには、目的のレコードが開始するノードまたはレベルを把握しておく必要があります。次の XML ファイルでは、 <batch> は最初のノード(ルートノード)であるため、ここがレベル 1 になります。batch 要素には 3 つのレコードが存在します。各レコードは <PurchaseOrder> ノードで区切られています。したがって、次の例では各レコードはレベル 2 から始まっています。

<?xml version="1.0" encoding="UTF-8"?> 
<batch> 
    <PurchaseOrder> 
        <lastName>Blue</lastName> 
        <firstName>Tony</firstName> 
        <OrderNo>555666777</OrderNo> 
        <Item> 
            <Description>Widget S</Description> 
            <Price>100</Price> 
            <Quantity>2</Quantity> 
        </Item> 
        <Item> 
            <Description>Widget B</Description> 
            <Price>5.00</Price> 
            <Quantity>4</Quantity> 
        </Item> 
        <PurchaseAmount>40.00</PurchaseAmount> 
    </PurchaseOrder> 
    <PurchaseOrder> 
        <lastName>White</lastName> 
        <firstName>Sam</firstName> 
        <OrderNo>555666222</OrderNo> 
        <Item> 
            <Description>Widget ABC</Description> 
            <Price>2200.00</Price> 
            <Quantity>10</Quantity> 
        </Item> 
        <PurchaseAmount>22000.00</PurchaseAmount> 
    </PurchaseOrder> 
    <PurchaseOrder> 
        <lastName>Green</lastName> 
        <firstName>Steve</firstName> 
        <OrderNo>55566688</OrderNo> 
        <Item> 
            <Description>Widget G</Description> 
            <Price>700000</Price> 
            <Quantity>1</Quantity> 
        </Item> 
        <PurchaseAmount>700000</PurchaseAmount> 
    </PurchaseOrder> 
</batch>

設定

「generatePrintedOutput」操作では、PostScript 出力を生成するために次のプロパティが設定されます。

入力

  • Form: poPrintApp > poPrintApp/1.0 > purchaseOrder.xdp。Select Asset ダイアログボックスを使用してリテラル値を指定します。

  • Input Data: inputXML 変数。inputXML 変数は入力 document 変数です。 document 値のコンテンツは poData.xml ファイルから取得されます。

  • Print Format: PostScript 出力が必須なので、汎用 Postscript レベル 3。印刷形式により、使用されるデフォルトのデバイスプロファイル(XDC ファイル)が異なります。汎用 Postscript レベル 3 が選択されたので、XDC URI プロパティは ps_plain_level3.xdc に変わります。XDC ファイルは XML 形式のプリンター説明ファイルで、プリンターの機能について記述しています。XDC ファイルは変更できます(Workbench を使用したデバイスプロファイルの作成に関するトピックを参照)。

バッチオプション

  • Record Level: 各レコードが XML ファイルの 2 番目の XML ノードで開始するので 2 を設定します。

出力

  • Printed Output: 操作によって生成された出力。変数 outputPS に保存します。これは document 変数です。

    sendToPrinter 操作の場合、次のプロパティを設定して AEM forms サーバーがアクセスできるプリンター(Microsoft ネットワーク)に送信します。

入力

  • Input Document: document 変数の outputPS。「generatePrintedOutput」操作で作成された PostScript 出力が含まれます。

  • Printer Protocol: Microsoft サーバーネットワークを使用してプリンターが AEM forms サーバーに接続されているので、SharedPrinter を指定します。使用するプリンターのプロトコルは、ネットワークでのプリンターの構成方法によって異なります。

  • Server URI: ¥¥myprintserver1。これはプリントサーバーの名前です。

  • Printer Name: ¥¥printserver1¥myprinter1。これはプリンターの名前です。プリンターの完全な名前にはプリンターサーバーを含める必要があります。

その他の考慮事項

このクイックスタートでは、レコードのコレクションを含む XML の作成方法や、XML データと組み合わせて使用できるフォームデザインの作成方法については説明しません。フォームデザインの作成方法に関する詳細は、『 Designer ヘルプ 』を参照してください。XML データの作成と Output サービスのフォームデザインの作成に関する考慮事項について詳しくは、Designer ヘルプを参照してください。

プリンターにアクセスするように AEM forms サーバーを設定する必要があります。それには、アプリケーションサーバーに対する設定権限が必要です。印刷用の出力の送信に必要な設定については、『 AEM forms 用サービスリファレンス 』の「Output サービス」の章から、「プリンターへのドキュメントの送信」を参照してください。

「generatePrintedOutput」操作を使用するには、プロセスの実行時に次の項目を利用できる必要があります。

  • フォームデザインと統合するレコードを含む XML ファイル。レコードレベルを設定するには、XML 構造を把握しておく必要があります。

  • 生成する出力の種類を把握しておく必要があります。生成する出力の種類は、プリンターがサポートしている印刷形式によって異なります。

  • 使用するプリンタープロトコル、プリントサーバーの名前、プリンターのネットワーク名。