ドキュメント Output ストリームの作成

最終更新日: 2023-12-01
  • 作成対象:
  • Developer

このドキュメントのサンプルと例は、JEE 環境の AEM Forms のみを対象としています。

Output サービスについて

Output サービスを使用すると、ドキュメントを PDF(PDF/A ドキュメントを含む)、PostScript、Printer Control Language(PCL)および次のラベル形式で出力できます。

  • Zebra - ZPL
  • Intermec - IPL
  • Datamax - DPL
  • TecToshiba - TPCL

Output サービスを使用すると、XML フォームデータをフォームデザインと結合し、ドキュメントをネットワークプリンターまたはファイルに出力できます。

フォームデザイン(XDP ファイル)を Output サービスに渡す方法は 2 とおりあります。フォームデザインを含んだ com.adobe.idp.Document インスタンスを Output サービスに渡すことができます。または、フォームデザインの場所を指定する URI 値を渡すこともできます。これらの方法については、AEM Forms によるプログラミング​を参照してください。

メモ

Output サービスでは、アプリケーションオブジェクト固有のスクリプトを含んだ Acroform PDF ドキュメントをサポートしていません。アプリケーションオブジェクト固有のスクリプトを含む Acroform PDF ドキュメントは、レンダリングされません。

次の節では、URI 値を使用してフォームデザインを Output サービスに渡す方法を説明します。

次の節では、com.adobe.idp.Document インスタンス内でフォームデザインを渡す方法について説明します。

どの手法を使用するかを決定する際の考慮事項の 1 つは、別の AEM Forms サービスからフォームデザインを取得して com.adobe.idp.Document インスタンス内で渡すかどうかです。Output サービスへのドキュメントの受け渡し​と​フラグメントを使用した PDF ドキュメントの作成​の両方の節で、別の AEM Forms サービスからフォームデザインを取得する方法を説明します。最初の節では、コンテンツサービス(非推奨)からフォームデザインを取得します。2 つ目の節では、Assembler サービスからフォームデザインを取得します。

ファイルシステムのような固定された場所からフォームデザインを取得する場合は、どちらの方法も使用できます。つまり、URI 値を XDP ファイルに指定するか、 com.adobe.idp.Document インスタンス。

フォームデザインの場所を指定する URI 値を PDF ドキュメントの作成時に渡すには、generatePDFOutput メソッドを使用します。同様に、PDFドキュメントを作成する際に com.adobe.idp.Document インスタンスを Output サービスに渡すには、generatePDFOutput2 メソッドを使用します。

Output ストリームをネットワークプリンターに送信する場合は、どちらの方法でも使用できます。フォームデザインを含んだ com.adobe.idp.Document インスタンスを渡して Output ストリームをプリンターに送信するには、sendToPrinter2 メソッドを使用します。URI 値を渡して Output ストリームをプリンターに送信するには、sendToPrinter メソッドを使用します。プリンターへの印刷ストリームの送信​の節では、sendToPrinter メソッドを使用しています。

Output サービスを使用して、以下のタスクを実行できます。

メモ

Output サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

PDF ドキュメントの作成

Output サービスを使用すると、提供するフォームデザインと XML フォームデータに基づいた PDF ドキュメントを作成できます。Output サービスで作成される PDF ドキュメントは、インタラクティブな PDF ドキュメントではないので、ユーザーがフォームデータを入力したり変更したりできません。

長期保存を目的とした PDF ドキュメントを作成する場合は、PDF/A ドキュメントを作成することをお勧めします。詳しくは、PDF/A ドキュメントの作成を参照してください。

ユーザーがデータを入力できるインタラクティブな PDF フォームを作成するには、Forms サービスを使用します。詳しくは、インタラクティブ PDF Forms のレンダリングを参照してください。

メモ

Output サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

PDF ドキュメントを作成するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Output クライアントオブジェクトを作成します。
  3. XML データソースを参照します。
  4. PDF の実行時オプションを設定します。
  5. レンダリングの実行時オプションを設定します。
  6. PDF ドキュメントの生成
  7. 操作の結果を取得します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、必ずプロキシファイルを含めてください。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar(AEM Forms を JBoss にデプロイする場合に必要)
  • jbossall-client.jar(AEM Forms が JBoss にデプロイされている場合に必要)

AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar ファイルと jbossall-client.jar ファイルを、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。

Output クライアントオブジェクトの作成

プログラムで Output サービスの操作を実行する前に、Output サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、OutputClient オブジェクトを作成します。Output web サービス API を使用している場合は、OutputServiceService オブジェクトを作成します。

XML データソースの参照

データをフォームデザインと結合するには、データを含む XML データソースを参照する必要があります。XML 要素は、データを入力するすべてのフォームフィールドに存在する必要があります。XML 要素名は、フィールド名と一致する必要があります。XML 要素がフォームフィールドに対応していない場合や、XML 要素名がフィールド名と一致しない場合、XML 要素は無視されます。すべての XML 要素が指定されている場合、XML 要素の表示順序を一致させる必要はありません。

次のローン申し込みフォームのサンプルについて考えてみましょう。

cp_cp_loanformdata

このフォームデザインにデータを結合するには、フォームに対応する XML データソースを作成する必要があります。次の XML は、住宅ローン申し込みフォームのサンプルに対応する XML データソースを表しています。

 <?xml version="1.0" encoding="UTF-8" ?>
 - <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
 - <xfa:data>
 - <data>
     - <Layer>
         <closeDate>1/26/2007</closeDate>
         <lastName>Johnson</lastName>
         <firstName>Jerry</firstName>
         <mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
         <city>New York</city>
         <zipCode>00501</zipCode>
         <state>NY</state>
         <dateBirth>26/08/1973</dateBirth>
         <middleInitials>D</middleInitials>
         <socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
         <phoneNumber>5555550000</phoneNumber>
     </Layer>
     - <Mortgage>
         <mortgageAmount>295000.00</mortgageAmount>
         <monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
         <purchasePrice>300000</purchasePrice>
         <downPayment>5000</downPayment>
         <term>25</term>
         <interestRate>5.00</interestRate>
     </Mortgage>
 </data>
 </xfa:data>
 </xfa:datasets>

PDF 実行時オプションの設定

PDF ドキュメントを作成する際に、ファイル URI オプションを設定します。このオプションは、Output サービスが生成する PDF ファイルの名前と場所を指定します。

メモ

ファイル URI 実行時オプションを設定する代わりに、Output サービスから返される複雑なデータタイプから PDF ドキュメントをプログラム的に取得できます。ただし、ファイル URI 実行時オプションを設定すれば、PDF ドキュメントをプログラム的に取得するアプリケーションロジックを作成する必要はありません。

レンダリング実行時オプションの設定

PDF ドキュメントの作成時に、レンダリング実行時オプションを設定できます。これらのオプションは必須ではありません(必須の PDF 実行時オプションとは異なります)が、Output サービスのパフォーマンス向上などのタスクを実行できます。例えば、Output サービスがパフォーマンスを向上させるために使用するフォームデザインをキャッシュできます。

タグ付き Acrobat フォームを入力として使用する場合、Output サービス Java または Web サービス API を使用してタグ付き設定をオフにすることはできません。このオプションをプログラム的に false に設定しようとしても、結果の PDF ドキュメントにはタグが付いたままになります。

メモ

レンダリング実行時オプションを指定しない場合は、デフォルト値が使用されます。レンダリング実行時オプションについて詳しくは、RenderOptionsSpec クラスリファレンスを参照してください。(AEM Forms API リファレンスを参照)。

PDF ドキュメントの生成

フォームデータを含む有効な XML データソースを参照し、実行時オプションを設定した後、Output サービスを呼び出すと、PDF ドキュメントが生成されます。

PDFドキュメントを生成するときは、Output サービスで PDF ドキュメントを作成するために必要な URI 値を指定します。フォームデザインは、サーバーファイルシステムなどの場所に保存することも、AEM Forms アプリケーションの一部として保存することもできます。Forms アプリケーションの一部として存在するフォームデザイン(または画像ファイルなどの他のリソース)は、コンテンツルート URI 値を使用して参照できます repository:///。例えば、Applications/FormsApplication という名前の Forms アプリケーション内にある Loan.xdp という名前の次のフォームデザインについて考えてみます。

cp_cp_formrepository

前の図に示す Loan.xdp ファイルにアクセスするには、次のように指定します。 repository:///Applications/FormsApplication/1.0/FormsFolder/ を返します。 OutputClient オブジェクトの generatePDFOutput メソッド。 フォーム名 (Loan.xdp) は、 OutputClient オブジェクトの generatePDFOutput メソッド。

XDP ファイルに画像(またはフラグメントなどの他のリソース)が含まれている場合は、XDP ファイルと同じアプリケーションフォルダーにリソースを配置します。AEM Forms は、画像への参照を解決するためのベースパスとしてコンテンツルート URI を使用します。例えば、Loan.xdp ファイルに画像が含まれている場合、画像は必ず Applications/FormsApplication/1.0/FormsFolder/ に配置します。

メモ

Formsアプリケーション URI は、 OutputClient オブジェクトの generatePDFOutput または generatePrintedOutput メソッド。

メモ

Formsアプリケーションで XDP を参照してPDFドキュメントを作成する完全なクイックスタートについては、 クイックスタート(EJB モード):Java API を使用して、PDFXDP ファイルに基づくアプリケーションドキュメントを作成する.

操作の結果の取得

Output サービスは、操作を実行した後、操作が成功したかどうかを指定するステータス XML データなど、様々なデータ項目を返します。

関連トピック

Java API を使用した PDF ドキュメントの作成

Web サービス API を使用した PDF ドキュメントの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Output Service API のクイックスタート

Java API を使用した PDF ドキュメントの作成

Output API(Java)を使用して PDF ドキュメントを作成します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output クライアントオブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことにより、OutputClient オブジェクトを作成します。
  3. XML データソースを参照します。

    • コンストラクターを使用し、XML ファイルの場所を指定する文字列値を渡すことにより、PDF ドキュメントの入力に使用される XML データソースを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクターを使用して com.adobe.idp.Document オブジェクトを作成します。java.io.FileInputStream オブジェクトを渡します。
  4. PDF の実行時オプションを設定します。

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • を呼び出して、「 File URI 」オプションを設定します。 PDFOutputOptionsSpec オブジェクトの setFileURI メソッド。 Output サービスが生成する PDF ファイルの場所を指定する文字列値を渡します。ファイル URI オプションは、クライアントコンピューターではなく、AEM Forms をホストする J2EE アプリケーションサーバーに対する相対パスです。
  5. レンダリングの実行時オプションを設定します。

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • フォームデザインをキャッシュし、 RenderOptionsSpec オブジェクトの setCacheEnabled そして通り過ぎ true.
    メモ

    次を使用してPDFドキュメントのバージョンを設定することはできません: RenderOptionsSpec オブジェクトの setPdfVersion メソッドを使用します。入力ドキュメントが、Acrobatフォーム (Acrobatで作成されたフォーム ) または署名または認証された XFA ドキュメントの場合。 Output PDF ドキュメントには、元の PDF バージョンが保持されます。同様に、タグ付きAdobe PDFオプションを設定するには、 RenderOptionsSpec オブジェクトの setTaggedPDF メソッドを使用します。

    メモ

    線形化PDFは、 RenderOptionsSpec オブジェクトの setLinearizedPDF メソッド:入力PDFドキュメントが認証済みまたはデジタル署名済みの場合。 (PDF ドキュメントへのデジタル署名​を参照。)

  6. PDF ドキュメントの生成

    を呼び出してPDFドキュメントを作成する OutputClient オブジェクトの generatePDFOutput メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • フォームデザイン名を指定する文字列値。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータを含む XML データソースを含む com.adobe.idp.Document オブジェクト。

    generatePDFOutput メソッドは、操作の結果を含む OutputResult オブジェクトを返します。

    メモ

    を呼び出してPDFドキュメントを生成する場合 generatePDFOutput メソッドを使用して、署名または認証されている XFAPDFフォームとデータを結合することはできません。 (ドキュメントのデジタル署名と認証​。)

    メモ

    The OutputResult オブジェクトの getRecordLevelMetaDataList メソッドの戻り値 null.

    メモ

    また、 OutputClient オブジェクトの generatePDFOutput2 メソッド。 ( 詳しくは、 Content Services(非推奨)のドキュメントを Output サービスに渡す​.)

  7. 操作の結果を取得します。

    • の取得 com.adobe.idp.Document オブジェクトのステータスを表すオブジェクト generatePDFOutput を呼び出すことによる操作 OutputResult オブジェクトの getStatusDoc メソッド。 このメソッドは、操作が成功したかどうかを指定するステータス XML データを返します。
    • 操作の結果を含む java.io.File オブジェクトを作成します。ファイル名の拡張子が .xml であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します ( com.adobe.idp.Document が返したオブジェクト getStatusDoc メソッド )。

    ただし、Output サービスはPDFドキュメントを、 PDFOutputOptionsSpec オブジェクトの setFileURI メソッドを使用すると、 OutputResult オブジェクトの getGeneratedDoc メソッド。

関連情報

手順の概要

クイックスタート(EJB モード):Java API を使用した PDF ドキュメントの作成

クイックスタート(SOAP モード):Java API を使用した PDF ドキュメントの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Web サービス API を使用した PDF ドキュメントの作成

Output API(web サービス)を使用して PDF ドキュメントを作成します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。

  2. Output クライアントオブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。
  3. XML データソースを参照します。

    • コンストラクタを使用して BLOB オブジェクトを作成します。BLOB オブジェクトは、PDF ドキュメントと結合される XML データを格納するために使用します。
    • コンストラクターを呼び出し、フォームデータを含む XML ファイルのファイルの場所を表す文字列値を渡すことにより、System.IO.FileStream オブジェクトを作成します。
    • System.IO.FileStream オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列のサイズは、 System.IO.FileStream オブジェクトの Length プロパティ。
    • を呼び出して、バイト配列にストリームデータを入力します。 System.IO.FileStream オブジェクトの Read メソッドを使用し、読み込むバイト配列、開始位置、ストリームの長さを渡す。
    • MTOM フィールドにバイト配列の内容を割り当てて、BLOB オブジェクトにデータを入力します。
  4. PDF 実行時オプションを設定

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • Output サービスが生成するPDFファイルの場所をに指定する string 値を割り当てて、「File URI」オプションを設定します。 PDFOutputOptionsSpec オブジェクトの fileURI データメンバー。 ファイル URI オプションは、クライアントコンピューターではなく、AEM Forms をホストする J2EE アプリケーションサーバーに対する相対パスです。
  5. レンダリングの実行時オプションを設定します。

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • 値を割り当てて Output サービスのパフォーマンスを向上させるためにフォームデザインをキャッシュします true から RenderOptionsSpec オブジェクトの cacheEnabled データメンバー。
    メモ

    次を使用してPDFドキュメントのバージョンを設定することはできません: RenderOptionsSpec オブジェクトの setPdfVersion メソッドを使用します。入力ドキュメントが、Acrobatフォーム (Acrobatで作成されたフォーム ) または署名または認証された XFA ドキュメントの場合。 Output PDF ドキュメントには、元の PDF バージョンが保持されます。同様に、タグ付きAdobe PDFオプションを設定するには、 RenderOptionsSpec オブジェクトの setTaggedPDF入力ドキュメントがAcrobatフォーム、または署名済みまたは認証済みの XFA ドキュメントの場合は、メソッドを使用します。

    メモ

    線形化PDFは、 RenderOptionsSpec オブジェクトの linearizedPDF メンバー:入力PDF・ドキュメントが認証済みまたはデジタル署名済みの場合。 (PDF ドキュメントへのデジタル署名​を参照。)

  6. PDF ドキュメントの生成

    を呼び出してPDFドキュメントを作成する OutputServiceService オブジェクトの generatePDFOutputメソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • フォームデザイン名を指定する文字列値。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータが含まれる XML データソースを含む BLOB オブジェクト。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。generatePDFOutput メソッドは、ドキュメントを説明する生成されたメタデータをこのオブジェクトに入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。generatePDFOutput メソッドは、このオブジェクトに結果データを入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • 操作の結果を含む OutputResult オブジェクト。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    メモ

    を呼び出してPDFドキュメントを生成する場合 generatePDFOutput メソッドを使用して、署名または認証されている XFAPDFフォームとデータを結合することはできません。 (ドキュメントのデジタル署名と認証​。)

    メモ

    また、 OutputClient オブジェクトの generatePDFOutput2 メソッド。 ( 詳しくは、 Content Services(非推奨)のドキュメントを Output サービスに渡す​.)

  7. 操作の結果を取得します。

    • コンストラクタを呼び出し、結果データを保持する XML ファイルの場所を表す string 値を渡すことにより、System.IO.FileStream オブジェクトを作成します。ファイル名の拡張子が .xml であることを確認します。
    • のデータコンテンツを格納するバイト配列を作成します。 BLOB オブジェクトに OutputServiceService オブジェクトの generatePDFOutput メソッド(8 番目のパラメーター)。 バイト配列を生成するには、 BLOB オブジェクトの MTOM field.
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容を XML ファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

    関連トピック

手順の概要

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

メモ

The OutputServiceService オブジェクトの generateOutput メソッドは非推奨です。

PDF/A ドキュメントの作成

Output サービスを使用して PDF/A ドキュメントを作成できます。PDF/A はドキュメントのコンテンツを長期保存するためのアーカイブ形式なので、すべてのフォントが埋め込まれ、ファイルが非圧縮になります。 その結果、通常、PDF/A ドキュメントは標準の PDF ドキュメントよりも大きくなります。また、PDF/A ドキュメントには、オーディオとビデオのコンテンツは含まれません。他の Output サービスタスクと同様に、フォームデザインとデータの両方を提供して、フォームデザインと結合し、PDF/A ドキュメントを作成します。

PDF/A-1 仕様は、a と b の 2 つの適合レベルで構成されます。この 2 つの主な違いは、論理構造(アクセシビリティ)のサポートに関するもので、適合レベル b には必要ありません。適合レベルに関係なく、PDF/A-1 では、生成された PDF/A ドキュメントにすべてのフォントが埋め込まれます。

PDF/A はPDFドキュメントのアーカイブの標準ですが、標準PDFドキュメントがお客様の企業のニーズを満たす場合に、アーカイブにPDF/A を使用する必要はありません。 PDF/A 規格の目的は、長期間保存でき、ドキュメント保存要件を満たすPDFファイルを確立することです。 例えば、ある URL を PDF/A に埋め込むことはできません。これは、URL が時間の経過と共に無効になる可能性があるためです。

組織は、独自のニーズ、ドキュメントの保持期間、ファイルサイズに関する考慮事項を評価し、独自のアーカイブ戦略を決定する必要があります。DocConverter サービスを使用すると、PDF ドキュメントが PDF/A に準拠しているかどうかをプログラム的に判断できます。(プログラムによる PDF/A 準拠の判断を参照してください)。

PDF/A ドキュメントでは、フォームデザインで指定されたフォントを使用する必要があり、フォントを置き換えることはできません。その結果、PDF ドキュメント内のフォントがホストオペレーティングシステム(OS)上で使用できない場合は、例外が発生します。

Acrobat で PDF/A ドキュメントを開くと、次の図に示すように、ドキュメントが PDF/A ドキュメントであることを確認するメッセージが表示されます。

cp_cp_pdfamessage

メモ

AIIM の Web サイトには、https://www.loc.gov/preservation/digital/formats/fdd/fdd000125.shtml からアクセスできる PDF/A の FAQ セクションがあります。

メモ

Output サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

PDF/A ドキュメントを作成するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Output クライアントオブジェクトを作成します。
  3. XML データソースを参照します。
  4. PDF/A 実行時オプションを設定します。
  5. レンダリングの実行時オプションを設定します。
  6. PDF/A ドキュメントを生成します。
  7. 操作の結果を取得します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してカスタムアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、必ずプロキシファイルを含めてください。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar(AEM Forms を JBoss にデプロイする場合に必要)
  • jbossall-client.jar(AEM Forms が JBoss にデプロイされている場合に必要)

AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar ファイルと jbossall-client.jar ファイルを、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。

Output クライアントオブジェクトの作成

プログラムで Output サービスの操作を実行する前に、Output サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、OutputClient オブジェクトを作成します。Output web サービス API を使用している場合は、OutputServiceService オブジェクトを作成します。

XML データソースの参照

データをフォームデザインと結合するには、データを含む XML データソースを参照する必要があります。データを入力するフォームフィールドごとに、XML 要素が存在している必要があります。XML 要素名は、フィールド名と一致する必要があります。XML 要素がフォームフィールドに対応していない場合や、XML 要素名がフィールド名と一致しない場合、XML 要素は無視されます。すべての XML 要素が指定されている場合、XML 要素の表示順序を一致させる必要はありません。

PDF/A 実行時オプションを設定

PDF/A ドキュメントの作成時に「ファイル URI」オプションを設定できます。URI は、AEM Forms をホストする J2EE アプリケーションサーバーに対して相対的です。つまり、C:\Adobe を設定した場合、ファイルはクライアントコンピューターではなく、サーバー上のフォルダーに書き込まれます。URI は、Output サービスが生成する PDF/A ファイルの名前と場所を指定します。

レンダリング実行時オプションを設定

レンダリングの実行時オプションは、PDF/A ドキュメントの作成時に設定できます。設定できる PDF/A 関連のオプションは PDFAConformance および PDFARevisionNumber 値です。PDFAConformance 値は、電子ドキュメントの長期保存方法を規定する要件に PDF ドキュメントがどの程度準拠しているかを参照します。このオプションの有効な値は A および B です。レベル a および b の準拠について詳しくは、タイトルが『ISO 19005-1 文書管理』の PDF/A-1 ISO 仕様を参照してください。

この PDFARevisionNumber の値は、PDF/A ドキュメントのリビジョン番号を参照します。PDF/A ドキュメントのリビジョン番号について詳しくは、タイトルが『ISO 19005-1 文書管理』の PDF/A-1 ISO 仕様を参照してください。

メモ

PDF/A 1A ドキュメントの作成時にタグ付けされた Adobe PDF オプションを false に設定することはできません。PDF/A 1A は、常にタグ付けされた PDF ドキュメントになります。また、PDF/A 1B ドキュメントの作成時、タグ付けされた Adobe PDF オプションを true に設定することはできません。PDF/A 1B は、常にタグなしの PDF ドキュメントになります。

PDF/A ドキュメントを生成

フォームデータを含む有効な XML データソースを参照し、実行時オプションを設定した後、Output サービスを呼び出して、PDF/A ドキュメントを生成することができます。

操作の結果の取得

Output サービスは操作を実行した後、操作が成功したかどうかを示す、XML データなどの様々なデータ項目を返します。

関連トピック

Java API を使用した PDF/A ドキュメントの作成

Web サービス API を使用して PDF/A ドキュメントを作成する

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Output Service API のクイックスタート

Java API を使用した PDF/A ドキュメントの作成

Output API(Java)を使用して PDF/A ドキュメントを作成します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output クライアントオブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことにより、OutputClient オブジェクトを作成します。
  3. XML データソースを参照します。

    • コンストラクターを使用し、XML ファイルの場所を指定する string 値を渡すことによって、PDF/A ドキュメントにデータを取り込むために使用される、XML データソースを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクターを使用し、java.io.FileInputStream オブジェクトを渡すことによって、com.adobe.idp.Document オブジェクトを作成します。
  4. PDF/A 実行時オプションを設定します。

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • を呼び出して、「 File URI 」オプションを設定します。 PDFOutputOptionsSpec オブジェクトの setFileURI メソッド。 Output サービスが生成する PDF ファイルの場所を指定する文字列値を渡します。ファイル URI オプションは、クライアントコンピューターではなく、AEM Forms をホストする J2EE アプリケーションサーバーに対する相対パスです。
  5. レンダリングの実行時オプションを設定します。

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • を設定します。 PDFAConformance を呼び出すことによる値 RenderOptionsSpec オブジェクトの setPDFAConformance メソッドと PDFAConformance 適合レベルを指定する enum 値。 例えば、適合レベル A を指定するには、PDFAConformance.A を渡します。
    • を設定します。 PDFARevisionNumber を呼び出すことによる値 RenderOptionsSpec オブジェクトの setPDFARevisionNumber メソッドとパス PDFARevisionNumber.Revision_1.
    メモ

    PDFバージョンのPDF/A ドキュメントは、 RenderOptionsSpec オブジェクトの setPdfVersionメソッド。

  6. PDF/A ドキュメントを生成します。

    を呼び出してPDF/A ドキュメントを作成する OutputClient オブジェクトの generatePDFOutput メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF/A ドキュメントを生成するには、TransformationFormat.PDFA を指定します。
    • フォームデザイン名を指定する文字列値。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータを含む XML データソースを含む com.adobe.idp.Document オブジェクト。

    generatePDFOutput メソッドは、操作の結果を含む OutputResult オブジェクトを返します。

    メモ

    The OutputResult オブジェクトの getRecordLevelMetaDataList メソッドの戻り値 null.

    メモ

    また、 OutputClient オブジェクトの generatePDFOutput2 メソッド。 ( 詳しくは、 Content Services(非推奨)のドキュメントを Output サービスに渡す.)

  7. 操作の結果を取得します。

    • の作成 com.adobe.idp.Document オブジェクトのステータスを表すオブジェクト generatePDFOutput メソッドを呼び出す OutputResult オブジェクトの getStatusDoc メソッド。
    • 操作の結果を含む java.io.File オブジェクトを作成します。ファイル名の拡張子が .xml であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します ( com.adobe.idp.Document が返したオブジェクト getStatusDoc メソッド )。
    メモ

    Output サービスはPDF/A ドキュメントを、 PDFOutputOptionsSpec オブジェクトの setFileURI メソッドを使用すると、 OutputResult オブジェクトの getGeneratedDoc メソッド。

関連情報

手順の概要

クイックスタート(SOAP モード):Java API を使用した PDF/A ドキュメントの作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Web サービス API を使用して PDF/A ドキュメントを作成する

Output API(web サービス)を使用して PDF/A ドキュメントを作成します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。

  2. Output クライアントオブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。
  3. XML データソースを参照します。

    • コンストラクターを使用して BLOB オブジェクトを作成します。BLOB オブジェクトは、PDF/A ドキュメントと結合されるデータを格納するために使用します。
    • コンストラクターを呼び出し、暗号化する PDF ドキュメントのファイルの場所とファイルを開くモードを表す文字列値を渡して、System.IO.FileStream オブジェクトを作成します。
    • System.IO.FileStream オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列のサイズは、 System.IO.FileStream オブジェクトの Length プロパティ。
    • を呼び出して、バイト配列にストリームデータを入力します。 System.IO.FileStream オブジェクトの Read メソッドを使用し、読み込むバイト配列、開始位置、ストリームの長さを渡す。
    • MTOM フィールドにバイト配列の内容を割り当てて、BLOB オブジェクトにデータを入力します。
  4. PDF/A 実行時オプションを設定します。

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • Output サービスが生成するPDFファイルの場所をに指定する string 値を割り当てて、「File URI」オプションを設定します。 PDFOutputOptionsSpec オブジェクトの fileURI データメンバー。 「ファイル URI」オプションは、AEM Forms をホストしている J2EE アプリケーションサーバーに対する相対パスであり、クライアントコンピューターに対する相対パスではありません
  5. レンダリングの実行時オプションを設定します。

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • を設定します。 PDFAConformance 値を割り当てる PDFAConformance enum 値を RenderOptionsSpec オブジェクトの PDFAConformance データメンバー。 例えば、適合レベル A を指定するには、PDFAConformance.A をこのデータメンバーに割り当てます。
    • を設定します。 PDFARevisionNumber 値を割り当てる PDFARevisionNumber enum 値を RenderOptionsSpec オブジェクトの PDFARevisionNumber データメンバー。 PDFARevisionNumber.Revision_1 をこのデータメンバーに割り当てます。
    メモ

    PDF/A ドキュメントの PDF バージョンは、指定した値に関係なく 1.4 です。

  6. PDF/A ドキュメントを生成します。

    を呼び出してPDFドキュメントを作成する OutputServiceService オブジェクトの generatePDFOutputメソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDFA を指定します。
    • フォームデザイン名を指定する文字列値。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータが含まれる XML データソースを含む BLOB オブジェクト。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。この generatePDFOutput メソッドは、ドキュメントを説明する生成されたメタデータをこのオブジェクトに入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。この generatePDFOutput メソッドは、このオブジェクトに結果データを入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • 操作の結果を含める OutputResult オブジェクト。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    メモ

    また、 OutputClient オブジェクトの generatePDFOutput2 メソッド。 ( 詳しくは、 Content Services(非推奨)のドキュメントを Output サービスに渡す.)

  7. 操作の結果を取得します。

    • コンストラクタを呼び出し、結果データを保持する XML ファイルの場所を表す string 値を渡すことにより、System.IO.FileStream オブジェクトを作成します。ファイル名の拡張子が .xml であることを確認します。
    • のデータコンテンツを格納するバイト配列を作成します。 BLOB オブジェクトに OutputServiceService オブジェクトの generatePDFOutput メソッド(8 番目のパラメーター)。 バイト配列を生成するには、 BLOB オブジェクトの MTOM フィールドに入力します。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容を XML ファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

関連情報

手順の概要

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

Content Services(非推奨)のドキュメントを Output サービスに渡す

Output サービスは、通常 XDP ファイルとして保存され、Designer で作成されたフォームデザインに基づく、非インタラクティブな PDF フォームを処理します。フォームデザインを含む com.adobe.idp.Document オブジェクトを Output サービスに渡すことができます。次に、Output サービスがフォームデザインを com.adobe.idp.Document オブジェクト。

com.adobe.idp.Document オブジェクトを Output サービスに渡すことの利点は、他の AEM Forms サービス操作が com.adobe.idp.Document インスタンスを返すことです。つまり、別のサービス操作から com.adobe.idp.Document インスタンスを取得し、それをレンダリングできます。例えば、次の図に示すように、XDP ファイルが /Company Home/Form Designs という名前のコンテンツサービス(非推奨)ノードに格納されているとします。

プログラムでコンテンツサービス(非推奨)から Loan.xdp を取得し、XDP ファイルを com.adobe.idp.Document オブジェクト内の Output サービスに渡すことができます。

メモ

Forms サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

コンテンツサービス(非推奨)から取得したドキュメントを Output サービスに渡すには、次のタスクを実行します。

  1. プロジェクトファイルを含めます。
  2. Output と Document Management Client API オブジェクトを作成します。
  3. コンテンツサービス(非推奨)からフォームデザインを取得します。
  4. 非インタラクティブ PDF フォームをレンダリング
  5. データストリームでアクションを実行します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。

Output と Document Management Client API オブジェクトの作成

プログラムで Output サービス API 操作を実行する前に、Output クライアント API オブジェクトを作成します。また、このワークフローはコンテンツサービス(非推奨)から XDP ファイルを取得するため、Document Management API オブジェクトを作成します。

コンテンツサービス(非推奨)からフォームデザインを取得する

Java または web サービス API を使用して、コンテンツサービス(非推奨)から XDP ファイルを取得します。XDP ファイルは、com.adobe.idp.Document インスタンス(または web サービスを使用している場合は BLOB インスタンス)内で返されます。その後、com.adobe.idp.Document インスタンスを Output サービスに渡すことができます。

非インタラクティブ PDF フォームのレンダリング

非インタラクティブフォームをレンダリングするには、コンテンツサービス(非推奨)から返された com.adobe.idp.Document インスタンスを Output サービスに渡します。

メモ

generatePDFOutput2 および g eneratePrintedOutput2 という名前の 2 つの新しいメソッドは、フォームデザインを含む com.adobe.idp.Document オブジェクトを受け入れます。また、ネットワークプリンターに印刷ストリームを送信する際に、フォームデザインを含む com.adobe.idp.Document を Output サービスに渡すこともできます。

フォームデータストリームを使ったアクションの実行

非インタラクティブフォームは、PDF ファイルとして保存できます。フォームは、Adobe Reader または Acrobat で表示できます。

関連トピック

Java API を使用してドキュメントを Output サービスに渡す

Web サービス API を使用してドキュメントを Output サービスに渡す

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Output Service API のクイックスタート

フラグメントを使用した PDF ドキュメントの作成

Java API を使用してドキュメントを Output サービスに渡す

Output サービスおよび Content Services(非推奨)API(Java))を使用して、Content Services(非推奨)から取得したドキュメントを渡します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar や adobe-contentservices-client.jar などのクライアント JAR ファイルを含めます。

  2. Output と Document Management Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。(接続プロパティの設定を参照)
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことによって、OutputClient オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことによって、DocumentManagementServiceClientImpl オブジェクトを作成します。
  3. コンテンツサービス(非推奨)からフォームデザインを取得します。

    を呼び出す DocumentManagementServiceClientImpl オブジェクトの retrieveContent メソッドを使用して、次の値を渡します。

    • コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは SpacesStore です。この値は必須パラメーターです。
    • 取得するコンテンツの完全修飾パスを指定する文字列値(例:/Company Home/Form Designs/Loan.xdp)。この値は必須パラメーターです。
    • バージョンを指定する文字列値。この値はオプションのパラメーターであり、空の文字列を渡すことができます。この場合、最新バージョンが取得されます。

    retrieveContent メソッドは、XDP ファイルを含む CRCResult オブジェクトを返します。の取得 com.adobe.idp.Document を呼び出すことによるインスタンス CRCResult オブジェクトの getDocument メソッド。

  4. 非インタラクティブ PDF フォームをレンダリング

    を呼び出す OutputClient オブジェクトの generatePDFOutput2 メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • 画像などの追加リソースが存在するコンテンツルートを指定する文字列値。
    • A com.adobe.idp.Document フォームデザインを表すオブジェクト ( CRCResult オブジェクトの getDocument メソッド )。
    • PDF の実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータを含む XML データソースを含む com.adobe.idp.Document オブジェクト。

    generatePDFOutput2 メソッドは、操作の結果を含む OutputResult オブジェクトを返します。

  5. フォームデータストリームを使用してアクションを実行します。

    • の取得 com.adobe.idp.Document を呼び出して非インタラクティブフォームを表すオブジェクト OutputResult オブジェクトの getGeneratedDoc メソッド。
    • 操作の結果を含む java.io.File オブジェクトを作成します。ファイル名の拡張子が .pdf であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します ( com.adobe.idp.Document が返したオブジェクト getGeneratedDoc メソッド )。

関連情報

手順の概要

クイックスタート(EJB モード):Java API を使用して Output サービスにドキュメントを渡す

クイックスタート(SOAP モード):Java API を使用して Output サービスにドキュメントを渡す

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Web サービス API を使用してドキュメントを Output サービスに渡す

Output サービスとコンテンツサービス(非推奨)API(web サービス)を使用して、コンテンツサービス(非推奨)から取得したドキュメントを渡すには、以下の手順を実行します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。このクライアントアプリケーションは 2 つの AEM Forms サービスを呼び出すので、2 つのサービス参照を作成します。Output サービスに関連付けられたサービス参照には、「http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1」という WSDL 定義を使用します。

    Document Management サービスに関連付けられたサービス参照には、「http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1」という WSDL 定義を使用します。

    BLOB データタイプは両方のサービス参照に共通なので、使用する場合は BLOB データタイプを完全に修飾します。対応する web サービスのクイックスタートでは、すべての BLOB インスタンスが完全に修飾されています。

    メモ

    localhost を、AEM Forms のホストサーバーの IP アドレスに置き換えてください。

  2. Output と Document Management Client API オブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • フィールド BasicHttpBindingSecurity.Security.Mode に定数値 BasicHttpSecurityMode.TransportCredentialOnly を割り当てます。

    メモ

    DocumentManagementServiceClient サービスクライアントに対してこれらの手順を繰り返します。

  3. コンテンツサービス(非推奨)からフォームデザインを取得します。

    を呼び出して、コンテンツを取得する DocumentManagementServiceClient オブジェクトの retrieveContent メソッドを使用して、次の値を渡します。

    • コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは SpacesStore です。この値は必須パラメーターです。
    • 取得するコンテンツの完全修飾パスを指定する文字列値(例:/Company Home/Form Designs/Loan.xdp)。この値は必須パラメーターです。
    • バージョンを指定する文字列値。この値はオプションのパラメーターであり、空の文字列を渡すことができます。この場合、最新バージョンが取得されます。
    • 参照リンクの値を格納する文字列出力パラメーター。
    • コンテンツを格納する BLOB 出力パラメーター。この出力パラメーターを使用して、コンテンツを取得できます。
    • コンテンツ属性を格納する ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType 出力パラメーター。
    • CRCResult 出力パラメーター。このオブジェクトを使用する代わりに、BLOB 出力パラメーターを使用してコンテンツを取得できます。
  4. 非インタラクティブ PDF フォームをレンダリング

    を呼び出す OutputServiceClient オブジェクトの generatePDFOutput2 メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • 画像などの追加リソースが存在するコンテンツルートを指定する文字列値。
    • フォームデザインを表す BLOB オブジェクト(コンテンツサービス(非推奨)から返された BLOB インスタンスを使用)。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータを含む XML データソースを含む BLOB オブジェクト。
    • generatePDFOutput2 メソッドによって入力される出力 BLOB オブジェクト。generatePDFOutput2 メソッドは、ドキュメントを説明する生成されたメタデータをこのオブジェクトに入力します(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • 操作の結果を含む出力 OutputResult オブジェクトです。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。

    generatePDFOutput2 メソッドは、非インタラクティブ PDF フォームを含む BLOB オブジェクトを返します。

  5. フォームデータストリームを使用してアクションを実行します。

    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを作成します。インタラクティブ PDF ドキュメントのファイルの場所と、ファイルを開くモードを表す文字列値を渡します。
    • generatePDFOutput2 メソッドから取得した BLOB オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列を生成するには、 BLOB オブジェクトの MTOM データメンバー。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容をPDFファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

関連情報

手順の概要

MTOM を使用した AEM Forms の呼び出し

リポジトリ内のドキュメントを Output サービスに渡す

Output サービスは、通常 XDP ファイルとして保存され、Designer で作成されたフォームデザインに基づく、非インタラクティブな PDF フォームを処理します。フォームデザインを含む com.adobe.idp.Document オブジェクトを Output サービスに渡すことができます。次に、Output サービスがフォームデザインを com.adobe.idp.Document オブジェクト。

com.adobe.idp.Document オブジェクトを Output サービスに渡すことの利点は、他の AEM Forms サービス操作が com.adobe.idp.Document インスタンスを返すことです。すなわち、別のサービス操作から com.adobe.idp.Document インスタンスを取得し、それを処理できます。例えば、以下の図に示すように、XDP ファイルが AEM Forms リポジトリに格納されているとします。

pd_pd_formrepository

FormsFolder フォルダーは、AEM Forms リポジトリ内のユーザー定義の場所です(この場所は例であり、デフォルトでは存在しません)。この例では、Loan.xdp という名前のフォームデザインがこのフォルダーにあります。 フォームデザインに加えて、フォーム作成に使用する他のファイル(画像など)もこの場所に保存できます。AEM Formsリポジトリ内のリソースへのパスは次のとおりです。

Applications/Application-name/Application-version/Folder.../Filename

プログラムで AEM Forms リポジトリから Loan.xdp を取得し、それを com.adobe.idp.Document オブジェクト内の Output サービスに渡すことができます。

リポジトリ内の XDP ファイルに基づいてPDFを作成するには、2 つの方法のいずれかを使用します。 XDP の場所は、参照によって渡すことも、プログラムによってリポジトリから XDP を取得し、XDP ファイル内で Output サービスに渡すこともできます。

クイックスタート(EJB モード):Java API を使用してアプリケーション XDP ファイルに基づいて PDF ドキュメントを作成します(XDP ファイルの場所を参照で渡す方法を示します)。

クイックスタート(EJB モード):Java API を使用してAEM Formsリポジトリ内のドキュメントを Output サービスに渡す ( プログラムによってAEM Formsリポジトリから XDP ファイルを取得し、 com.adobe.idp.Document インスタンス )。 (このセクションでは、このタスクの実行方法について説明します)。

メモ

Forms サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

AEM Forms リポジトリから取得したドキュメントを Output サービスに渡すには、次のタスクを実行します。

  1. プロジェクトファイルを含めます。
  2. Output と Document Management Client API オブジェクトを作成します。
  3. AEM Forms リポジトリからフォームデザインを取得します。
  4. 非インタラクティブ PDF フォームをレンダリング
  5. データストリームでアクションを実行します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。

Output と Document Management Client API オブジェクトの作成

プログラムで Output サービス API 操作を実行する前に、Output クライアント API オブジェクトを作成します。また、このワークフローはコンテンツサービス(非推奨)から XDP ファイルを取得するため、Document Management API オブジェクトを作成します。

AEM Forms リポジトリからフォームデザインを取得する

Repository API を使用して、AEM Forms リポジトリから XDP ファイルを取得します(リソースの読み取りを参照。)

XDP ファイルは、com.adobe.idp.Document インスタンス(または web サービスを使用している場合は BLOB インスタンス)内で返されます。その後、com.adobe.idp.Document インスタンスを Output サービスに渡すことができます。

非インタラクティブ PDF フォームのレンダリング

非インタラクティブフォームをレンダリングするには、AEM Forms Repository API を使用して返された com.adobe.idp.Document インスタンスを渡します。

メモ

generatePDFOutput2 および generatePrintedOutput2 という名前の 2 つの新しいメソッドは、フォームデザインを含む com.adobe.idp.Document オブジェクトを受け入れます。また、ネットワークプリンターに印刷ストリームを送信する際に、フォームデザインを含む com.adobe.idp.Document を Output サービスに渡すこともできます。

フォームデータストリームを使用してアクションを実行する

非インタラクティブフォームは、PDF ファイルとして保存できます。フォームは、Adobe Reader または Acrobat で表示できます。

関連トピック

Java API を使用して、リポジトリ内のドキュメントを Output Service に渡します。

AEM Forms の Java ライブラリファイルを含める

接続プロパティの設定

Output Service API のクイックスタート

ResourceRepositoryClient

Java API を使用して、リポジトリ内のドキュメントを Output Service に渡します。

Output サービスと Repository API(Java)を使用して、リポジトリから取得したドキュメントを渡します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar や adobe-repository-client.jar などのクライアント JAR ファイルを含めます。

  2. Output と Document Management Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。(接続プロパティの設定を参照)
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことによって、OutputClient オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことにより、DocumentManagementServiceClientImpl オブジェクトを作成します。
  3. AEM Forms リポジトリからフォームデザインを取得します。

    を呼び出す ResourceRepositoryClient オブジェクトの readResourceContent メソッドを使用して URI の場所を指定する string 値を XDP ファイルに渡します。 例えば、/Applications/FormsApplication/1.0/FormsFolder/Loan.xdp のようになります。この値は必須ではありません。このメソッドは、XDP ファイルを表す com.adobe.idp.Document インスタンスを返します。

  4. 非インタラクティブ PDF フォームをレンダリング

    を呼び出す OutputClient オブジェクトの generatePDFOutput2 メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • 画像などの追加リソースが配置されているコンテンツルートを指定する文字列値。例:repository:///Applications/FormsApplication/1.0/FormsFolder/
    • A com.adobe.idp.Document フォームデザインを表すオブジェクト ( ResourceRepositoryClient オブジェクトの readResourceContent メソッド )。
    • PDF の実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータを含む XML データソースを含む com.adobe.idp.Document オブジェクト。

    generatePDFOutput2 メソッドは、操作の結果を含む OutputResult オブジェクトを返します。

  5. フォームデータストリームを使用してアクションを実行します。

    • の取得 com.adobe.idp.Document を呼び出して非インタラクティブフォームを表すオブジェクト OutputResult オブジェクトの getGeneratedDoc メソッド。
    • 操作の結果を含む java.io.File オブジェクトを作成します。ファイル名の拡張子が .pdf であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します ( com.adobe.idp.Document が返したオブジェクト getGeneratedDoc メソッド )。

関連情報

手順の概要

クイックスタート(EJB モード):Java API を使用してAEM Formsリポジトリ内のドキュメントを Output サービスに渡す

AEM Forms の Java ライブラリファイルを含める

接続プロパティの設定

フラグメントを使用した PDF ドキュメントの作成

Output サービスと Assembler サービスを使用して、フラグメントに基づいた出力ストリーム(PDF ドキュメントなど)を作成できます。Assembler サービスは、複数の XDP ファイル内のフラグメントに基づく XDP ドキュメントをアセンブリします。 組み立てられた XDP ドキュメントが Output サービスに渡されて、PDF ドキュメントが作成されます。このワークフローでは、PDF ドキュメントが生成される様子が示されていますが、Output サービスでは、このワークフローに対して ZPL などの他の出力タイプも生成できます。PDF ドキュメントは、説明目的でのみ使用されています。

次の図は、このワークフローを示しています。

cp_cp_outputassemblefragments

フラグメントを使用した PDF ドキュメントの作成​を読む前に、Assembler サービスを使用して複数の XDP ドキュメントを作成する方法を理解しておくことをお勧めします。詳しくは、複数の XDP フラグメントの作成を参照してください。

メモ

また、Assembler サービスで作成されたフォームデザインを、Output サービスではなく Forms サービスに渡すこともできます。Output サービスと Forms サービスの主な違いは、Forms サービスがインタラクティブな PDF ドキュメントを生成し、Output サービスが非インタラクティブな PDF ドキュメントを生成する点です。また、Forms サービスは、ZPL などのプリンターベースの出力ストリームを生成できません。

メモ

Output サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

フラグメントに基づいて PDF ドキュメントを作成するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Output および Assembler クライアントオブジェクトを作成します。
  3. フォームデザインを生成するには、Assembler サービスを使用します。
  4. Output サービスを使用して PDF ドキュメントを生成します。
  5. PDF ドキュメントを PDF ファイルとして保存します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、必ずプロキシファイルを含めてください。

Output および Assembler クライアントオブジェクトの作成

プログラムで Output サービス API 操作を実行する前に、Output クライアント API オブジェクトを作成します。また、このワークフローは Assembler サービスを呼び出してフォームデザインを作成するため、Asembler クライアント API オブジェクトを作成します。

Assembler サービスを使用してフォームデザインを生成する

Assembler サービスを使用して、フラグメントに基づくフォームデザインを生成します。Assembler サービスは、フォームデザインを含んだ com.adobe.idp.Document インスタンスを返します。

Output サービスを使用して PDF ドキュメントを生成

Output サービスを使用して、Assembler サービスで作成されたフォームデザインに基づく PDF ドキュメントを生成できます。Assembler サービスから返された com.adobe.idp.Document インスタンスを Output サービスに渡します。

PDF ドキュメントを PDF ファイルとして保存

Output サービスが PDF ドキュメントを生成したら、それを PDF ファイルとして保存できます。

関連トピック

Java API を使用してフラグメントに基づく PDF ドキュメントを作成する

Web サービス API を使用し、フラグメントに基づいて PDF ドキュメントを作成します

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Output Service API のクイックスタート

複数の XDP フラグメントのアセンブル

PDF ドキュメントの作成

Java API を使用してフラグメントに基づく PDF ドキュメントを作成する

Output サービス API と Assembler サービス API(Java)を使用して、フラグメントに基いた PDF ドキュメントを作成します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output および Assembler クライアントオブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことにより、OutputClient オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことにより、AssemblerServiceClient オブジェクトを作成します。
  3. フォームデザインを生成するには、Assembler サービスを使用します。

    を呼び出す AssemblerServiceClient オブジェクトの invokeDDX メソッドを使用して、以下の必須の値を渡します。

    • 使用する DDX ドキュメントを表す com.adobe.idp.Document オブジェクト。
    • 入力 XDP ファイルを含む java.util.Map オブジェクト。
    • デフォルトのフォントやジョブのログレベルなどの実行時オプションを指定する com.adobe.livecycle.assembler.client.AssemblerOptionSpec オブジェクト。

    invokeDDX メソッドは、アセンブルされた XDP ドキュメントを含んだ com.adobe.livecycle.assembler.client.AssemblerResult オブジェクトを返します。アセンブルされた XDP ドキュメントを取得するには、次のアクションを実行します。

    • を呼び出す AssemblerResult オブジェクトの getDocuments メソッド。 このメソッドは、java.util.Map オブジェクトを返します。
    • 結果の com.adobe.idp.Document オブジェクトが見つかるまで、java.util.Map オブジェクトを反復処理します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、アセンブリされた XDP ドキュメントを抽出します。
  4. Output サービスを使用して PDF ドキュメントを生成します。

    を呼び出す OutputClient オブジェクトの generatePDFOutput2 メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • 画像などの追加リソースが存在しているコンテンツルートを指定する文字列値
    • フォームデザインを表す com.adobe.idp.Document オブジェクト(Assembler サービスが返すインスタンスを使用)
    • PDF 実行時オプションを含んだ PDFOutputOptionsSpec オブジェクト
    • レンダリング実行時オプションを含んだ RenderOptionsSpec オブジェクト
    • フォームデザインと結合するデータが格納されている XML データソースを含んだ com.adobe.idp.Document オブジェクト

    generatePDFOutput2 メソッドは、操作の結果を含む OutputResult オブジェクトを返します。

  5. PDF ドキュメントを PDF ファイルとして保存します。

    • の取得 com.adobe.idp.Document を呼び出してPDFドキュメントを表すオブジェクト OutputResult オブジェクトの getGeneratedDoc メソッド。
    • 操作の結果を含む java.io.File オブジェクトを作成します。ファイル名の拡張子が .pdf であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します。 (必ず getGeneratedDoc メソッドが返した com.adobe.idp.Document オブジェクトを使用します)。

関連トピック

手順の概要

クイックスタート(EJB モード):Java API を使用して、フラグメントに基づく PDF ドキュメントを作成

クイックスタート(SOAP モード):Java API を使用して、フラグメントに基づく PDF ドキュメントを作成

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定.

Web サービス API を使用し、フラグメントに基づいて PDF ドキュメントを作成します

Output サービス API と Assembler サービス API(web サービス)を使用し、フラグメントに基づいて PDF ドキュメントを作成します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。Output サービスに関連付けられたサービス参照に、次の WSDL 定義を使用します。

     http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.
    

    Assembler サービスに関連付けられたサービス参照に対して、次の WSDL 定義を使用します。

     http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.
    

    BLOB データ型は両方のサービス参照に共通なので、これを使用すると BLOB データ型が完全に修飾されます。対応する web サービスのクイックスタートでは、すべての BLOB インスタンスが完全に修飾されています。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスに置換します。

  2. Output および Assembler クライアントオブジェクトを作成します。

    • デフォルトのコンストラクタを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • AEM Forms のユーザー名を OutputServiceClient.ClientCredentials.UserName.UserName フィールドに割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • BasicHttpSecurityMode.TransportCredentialOnly 定数値を BasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。

    メモ

    AssemblerServiceClient オブジェクトに対してこれらの手順を繰り返します。

  3. フォームデザインを生成するには、Assembler サービスを使用します。

    を呼び出す AssemblerServiceClient オブジェクトの invokeDDX メソッドを使用して、次の値を渡します。

    • DDX ドキュメントを表す BLOB オブジェクト
    • 必要なファイルを含む MyMapOf_xsd_string_To_xsd_anyType オブジェクト
    • 実行時のオプションを指定する AssemblerOptionSpec オブジェクト

    invokeDDX メソッドは、ジョブの結果と発生した例外を含む AssemblerResult オブジェクトを返します。新しく作成した XDP ドキュメントを取得するには、次の操作を実行します。

    • 次にアクセス: AssemblerResult オブジェクトの documents フィールド ( Map 結果のPDF・ドキュメントを格納するオブジェクト。
    • Map オブジェクトを繰り返して、アセンブルされたフォームデザインを取得します。その配列のメンバをキャストします。 value から BLOB. この BLOB インスタンスを Output サービスに渡します。
  4. Output サービスを使用して PDF ドキュメントを生成します。

    を呼び出す OutputServiceClient オブジェクトの generatePDFOutput2 メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • 画像などその他のリソースが存在するコンテンツルートを指定する文字列値です。
    • フォームデザインを表す BLOB オブジェクトです(Assembler サービスによって返される BLOB インスタンスを使用します)。
    • PDF の実行時オプションを含む PDFOutputOptionsSpec オブジェクトです。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインとマージするデータが含まれる XML データソースを持つ BLOB オブジェクトです。
    • generatePDFOutput2 メソッドがデータを設定する出力 BLOB オブジェクトです。generatePDFOutput2 メソッドは、ドキュメントを表す生成されたメタデータをこのオブジェクトに設定します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • 操作の結果を含む出力 OutputResult オブジェクトです。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。

    generatePDFOutput2 メソッドは、非インタラクティブ PDF フォームを含む BLOB オブジェクトを返します。

  5. PDF ドキュメントを PDF ファイルとして保存します。

    • コンストラクタを呼び出して System.IO.FileStream オブジェクトを作成します。インタラクティブ PDF ドキュメントのファイルの場所と、ファイルを開くモードを表す文字列値を渡します。
    • generatePDFOutput2 メソッドから取得した BLOB オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列を生成するには、 BLOB オブジェクトの MTOM データメンバー。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容をPDFファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

関連情報

手順の概要

MTOM を使用した AEM Forms の呼び出し

ファイルへの印刷

Output サービスを使用すると、PostScript、PCL(Printer Control Language)または次のラベル形式などのストリームをファイルに印刷できます。

  • Zebra - ZPL
  • Intermec - IPL
  • Datamax - DPL
  • TecToshiba - TPCL

Output サービスを使用すると、XML データをフォームデザインと結合し、フォームをファイルに印刷できます。次の図に、レーザーファイルとラベルファイルを作成する Output サービスを示します。

メモ

プリンターに印刷ストリームを送信する方法については、プリンタへの印刷ストリームの送信を参照してください。

メモ

Output サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

ファイルに印刷するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Output クライアントオブジェクトを作成します。
  3. XML データソースを参照します。
  4. ファイルへの印刷に必要な印刷実行時オプションを設定します。
  5. 印刷ストリームをファイルに印刷します。
  6. 操作の結果を取得します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、必ずプロキシファイルを含めてください。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar(AEM Forms が JBoss にデプロイされている場合に必要)
  • jbossall-client.jar(AEM Formsが JBoss にデプロイされている場合に必要)

AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar ファイルと jbossall-client.jar ファイルを、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。 (AEM Forms Java ライブラリファイルを含めるを参照。)

Output クライアントオブジェクトの作成

プログラムで Output サービスの操作を実行する前に、Output サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、OutputClient オブジェクトを作成します。Output web サービス API を使用している場合は、OutputServiceService オブジェクトを作成します。

XML データソースの参照

データを含むドキュメントを印刷するには、データを入力するすべてのフォームフィールドの XML 要素を含む XML データソースを参照する必要があります。XML 要素名は、フィールド名と一致する必要があります。XML 要素がフォームフィールドに対応していない場合や、XML 要素名がフィールド名と一致しない場合、XML 要素は無視されます。すべての XML 要素が指定されている場合、XML 要素の表示順序を一致させる必要はありません。

ファイルへの印刷に必要な印刷実行時オプションの設定

ファイルに印刷するには、Output サービスが印刷するファイルの場所と名前を指定して、「ファイル URI 実行時」オプションを設定する必要があります。例えば、MortgageForm.ps という名前の PostScript ファイルを C:\Adobe に印刷するよう Output サービスに指示するには、C:\Adobe\MortgageForm.ps を指定します。

メモ

定義できる実行時オプションがあります。設定できるすべてのオプションについては、AEM Forms API リファレンスPrintedOutputOptionsSpec クラスリファレンスを参照してください。

印刷ストリームをファイルに印刷

フォームデータを含む有効な XML データソースを参照し、印刷の実行時オプションを設定した後、Output サービスを呼び出して、ファイルを印刷できます。

操作の結果の取得

Output サービスは操作を実行した後、XML データなど、操作が成功したかどうかを示す様々なデータ項目を返します。

関連トピック

Java API を使用したファイルへの印刷

Web サービス API を使用したファイルへの印刷

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Output Service API のクイックスタート

Output API(Java) を使用してファイルに印刷します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output クライアントオブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことにより、OutputClient オブジェクトを作成します。
  3. XML データソースを参照します。

    • コンストラクターを使用し、XML ファイルの場所を指定する文字列値を渡すことにより、ドキュメントにデータを入力するために使用される XML データソースを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクターを使用して java.io.FileInputStream オブジェクトを渡すことにより、com.adobe.idp.Document オブジェクトを作成します。
  4. ファイルへの印刷に必要な印刷実行時オプションを設定します。

    • コンストラクターを使用して PrintedOutputOptionsSpec オブジェクトを作成します。
    • PrintedOutputOptionsSpec オブジェクトの setFileURI メソッドを使用し、ファイルの名前と場所を表す string 値を渡す方法を示します。 例えば、C:\Adobeの MortgageForm.ps という名前の PostScript ファイルに Output サービスを印刷する場合は、C:\Adobe\MortgageForm.psと指定します。
    • を呼び出して、印刷する部数を指定します。 PrintedOutputOptionsSpec オブジェクトの setCopies メソッドを使用し、コピー数を表す整数値を渡す。
  5. 印刷ストリームをファイルに印刷します。

    を呼び出してファイルに出力 OutputClient オブジェクトの generatePrintedOutput メソッドを使用して、次の値を渡します。

    • 作成する印刷ストリーム形式を指定する PrintFormat 列挙値。例えば、PostScript 印刷ストリームを作成するには、PrintFormat.PostScript を渡します。
    • フォームデザイン名を指定する文字列値。
    • 画像ファイルなど、関連する販促物ファイルの場所を指定する文字列値です。
    • 使用する XDC ファイルの場所を指定する文字列値(PrintedOutputOptionsSpec オブジェクトを使用して使用する XDC ファイルを指定した場合は、null を渡すことができます)。
    • ファイルに印刷するために必要な実行時オプションを含む PrintedOutputOptionsSpec オブジェクト。
    • フォームデータを含む XML データソースを含む com.adobe.idp.Document オブジェクト。

    この generatePrintedOutput メソッドは操作の結果を含む OutputResult オブジェクトを返します。

    メモ

    The OutputResult オブジェクトの getRecordLevelMetaDataList メソッドの戻り値 null.

  6. 操作の結果を取得します。

    • の作成 com.adobe.idp.Document オブジェクトのステータスを表すオブジェクト generatePrintedOutput メソッドを呼び出す OutputResult オブジェクトの getStatusDoc メソッド ( OutputResult オブジェクトが次の条件で返された: generatePrintedOutput メソッド )。
    • 操作の結果を含む java.io.File オブジェクトを作成します。ファイル拡張子が XML であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します ( com.adobe.idp.Document が返したオブジェクト getStatusDoc メソッド )。

関連情報

手順の概要

クイックスタート(SOAP モード):Java API を使用したファイルへの印刷

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Output API(web サービス)を使用してファイルに印刷します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。

  2. Output クライアントオブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。
  3. XML データソースを参照します。

    • コンストラクターを使用して BLOB オブジェクトを作成します。この BLOB オブジェクトは、フォームデータの保存に使用されます。
    • System.IO.FileStream オブジェクトを作成するには、そのコンストラクターを呼び出し、フォームデータを含む XML ファイルの場所を指定する文字列値を渡します。
    • System.IO.FileStream オブジェクトの内容を格納するバイト配列を作成します。バイト配列のサイズは、 System.IO.FileStream オブジェクトの Length プロパティ。
    • を呼び出して、バイト配列にストリームデータを入力します。 System.IO.FileStream オブジェクトの Read メソッドを使用し、読み込むバイト配列、開始位置、ストリームの長さを渡す。
    • binaryData プロパティを割り当てて、BLOB オブジェクトにバイト配列の内容を入力します。
  4. ファイルへの印刷に必要な印刷実行時オプションを設定します。

    • コンストラクターを使用して PrintedOutputOptionsSpec オブジェクトを作成します。
    • ファイルの場所と名前を表す string 値を PrintedOutputOptionsSpec オブジェクトの fileURI データメンバー。 例えば、Output サービスを PostScript ファイル ( MortgageForm.ps C:\Adobeで、C:\Adobe\MortgageForm.psと指定します。
    • 印刷部数を指定するには、印刷部数を表す整数値を割り当てます。 PrintedOutputOptionsSpec オブジェクトの copies データメンバー。
  5. 印刷ストリームをファイルに印刷します。

    を呼び出してファイルに出力 OutputServiceService オブジェクトの generatePrintedOutput メソッドを使用して、次の値を渡します。

    • 作成する印刷ストリーム形式を指定する PrintFormat 列挙値。例えば、PostScript 印刷ストリームを作成するには、PrintFormat.PostScript を渡します。
    • フォームデザイン名を指定する文字列値。
    • 画像ファイルなど、関連する販促物ファイルの場所を指定する文字列値です。
    • 使用する XDC ファイルの場所を指定する文字列値(PrintedOutputOptionsSpec オブジェクトを使用して使用する XDC ファイルを指定した場合は、null を渡すことができます)。
    • ファイルに印刷するために必要な印刷実行時オプションを含む PrintedOutputOptionsSpec オブジェクト。
    • フォームデータを含む XML データソースを含む BLOB オブジェクト。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。この generatePDFOutput メソッドは、ドキュメントを説明する生成されたメタデータをこのオブジェクトに入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。この generatePDFOutput メソッドは、このオブジェクトに結果データを入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • 操作の結果を含める OutputResult オブジェクト。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
  6. 操作の結果を取得します。

    • System.IO.FileStream オブジェクトを作成し、そのコンストラクターを呼び出して、結果データを含む XML ファイルの場所を表す文字列値を渡します。ファイル拡張子が XML であることを確認します。
    • のデータコンテンツを格納するバイト配列を作成します。 BLOB オブジェクトに OutputServiceService オブジェクトの generatePDFOutput メソッド(8 番目のパラメーター)。 バイト配列を生成するには、 BLOB オブジェクトの MTOM データメンバー。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容を XML ファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

関連情報

手順の概要

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

プリンターへの印刷ストリームの送信

出力サービスを使用すると、PostScript、PCL(Printer Control Language)または次のラベル形式などのプリントストリームをネットワークプリンターに送信できます。

  • Zebra - ZPL
  • Intermec - IPL
  • Datamax - DPL
  • TecToshiba - TPCL

Output サービスを使用すると、XML データをフォームデザインと結合し、フォームをプリントストリームとして出力できます。例えば、PostScript プリントストリームを作成して、ネットワークプリンターに送信できます。次の図は、プリントストリームをネットワークプリンターに送信する Output サービスを示しています。

メモ

プリントストリームをネットワークプリンターに送信する方法を示すために、このセクションでは、SharedPrinter プリンタープロトコルを使用して PostScript プリントストリームをネットワークプリンターに送信します。

メモ

Output サービスの詳細については、「AEM Forms のサービスリファレンス」を参照してください。

手順の概要

プリントストリームをネットワークプリンターに送信するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Output クライアントオブジェクトを作成します。
  3. XML データソースを参照します。
  4. 印刷実行時オプションの設定
  5. 印刷するドキュメントを取得します。
  6. ドキュメントをネットワークプリンターに送信します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、必ずプロキシファイルを含めてください。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar(AEM Forms を JBoss にデプロイする場合に必要)
  • jbossall-client.jar(AEM Forms が JBoss にデプロイされている場合に必要)

AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar ファイルと jbossall-client.jar ファイルを、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。

Output クライアントオブジェクトの作成

Output サービスの操作をプログラム的に実行する前に、Output サービスのクライアントオブジェクトを作成します。Java API を使用する場合は、OutputClient オブジェクトを作成します。Output web サービス API を使用している場合は、OutputServiceClient オブジェクトを作成します。

XML データソースの参照

データを含むドキュメントを印刷するには、データを入力するすべてのフォームフィールドの XML 要素を含む XML データソースを参照する必要があります。XML 要素名は、フィールド名と一致する必要があります。XML 要素がフォームフィールドに対応していない場合や、XML 要素名がフィールド名と一致しない場合、XML 要素は無視されます。すべての XML 要素が指定されている場合、XML 要素の表示順序を一致させる必要はありません。

印刷実行時オプションを設定する

印刷ストリームをプリンターに送信する際に、次のオプションを含む実行時のオプションを設定できます。

  • コピー:プリンターに送信する部数を指定します。デフォルト値は 1 です。
  • ホチキス止め:ステープル印刷が使用されると、XCI オプションが設定されます。このオプションは、構成モデルにおいてステープル要素で指定することができ、PS および PCL プリンターにのみ使用されます。
  • OutputJog:XCI オプションは、出力ページを(出力トレイで物理的にシフトした)ジョグ付けする場合に設定されます。このオプションは、PS および PCL プリンター専用です。
  • OutputBin:プリントドライバーが適切な出力ビンを選択するために使用する XCI 値です。
メモ

設定可能なすべてのランタイムオプションについては、PrintedOutputOptionsSpec クラスのリファレンスを参照してください。

印刷するドキュメントを取得する

プリンターに送信する印刷ストリームを取得します。たとえば、PostScript ファイルを取り出して、プリンターに送信することができます。

プリンターが PDF に対応している場合は、PDF ファイルの送信を選択することができます。しかし、PDF ドキュメントをプリンターに送信する場合、プリンターメーカーごとに PDF インタープリターの実装が異なるという問題があります。つまり、印刷メーカーによっては、Adobe PDF の解釈を採用しているところもありますが、プリンターによって異なります。他のプリンターには、独自の PDF インタープリターがあります。その結果、印刷の出来が異なる場合があります。

プリンターに PDF ドキュメントを送信するもう 1 つの制限は、単純に印刷することです。両面印刷、用紙トレイの選択、ホチキス止めは、プリンターの設定を使用しない限り使用できません。

印刷するドキュメントを取得するには、generatePrintedOutput メソッドを使用します。次の表は generatePrintedOutput メソッドを使用する際、指定した印刷ストリーミング用に設定されるコンテンツタイプを決定します。

印刷形式

説明

DPL

デフォルトまたはカスタムの xdc 出力ストリームで dpl203.xdc を作成します。

DPL300DPI

DPL 300 DPI 出力ストリームを作成します。

DPL406DPI

DPL 400 DPI 出力ストリームを作成します。

DPL600DPI

DPL 600 DPI 出力ストリームを作成します。

GenericColorPCL

Generic Color PCL(5c)出力ストリームを作成します。

GenericPSLevel3

汎用 PostScript レベル 3 出力ストリームを作成します。

IPL

カスタム IPL 出力ストリームを作成します。

IPL300DPI

IPL 300 DPI 出力ストリームを作成します。

IPL400DPI

IPL 400 DPI 出力ストリームを作成します。

PCL

Generic Monochrome PCL(5e)出力ストリームを作成します。

PostScript

汎用 PostScript レベル 2 出力ストリームを作成します。

TPCL

カスタム TPCL 出力ストリームを作成します。

TPCL305DPI

TPCL 305 DPI 出力ストリームを作成します。

TPCL600DPI

TPCL 600 DPI 出力ストリームを作成します。

ZPL

ZPL 203 DPI 出力ストリームを作成します。

ZPL300DPI

ZPL 300 DPI 出力ストリームを作成します。

メモ

また、 generatePrintedOutput2 メソッドを使用して、プリンターに印刷ストリーミングを送ることもできます。ただし、「プリンターへの印刷ストリーミングの送信」セクションに関連するクイックスタートでは、 generatePrintedOutput メソッドを使用します。

印刷ストリーミングをネットワークプリンターに送信

印刷するドキュメントを取得した後、Output サービスを呼び出すと、印刷ストリーミングがネットワークプリンターに送信されます。Output サービスでプリンターを正常に見つけるには、印刷サーバーとプリンター名の両方を指定する必要があります。また、印刷プロトコルも指定する必要があります。

メモ

PDFG がForms Server にインストールされ、サーバーが Windows Server 2008 で実行されている場合、SharedPrinter プロパティは使用できません。 この場合は、別のプリンタープロトコルを使用します。

メモ

ネットワークプリンターを使用し、アクセスメカニズムが SharedPrinter の場合は、プリンターのネットワークパスを完全に指定する必要があります。Java API を使用して、ネットワークプリンターに印刷ストリーミングを送信します。

Output API(Java)を使用して、印刷ストリーミングをネットワークプリンターに送信します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output クライアントオブジェクトの作成

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用し ServiceClientFactory オブジェクトを渡すことで、OutputClient オブジェクトを作成します。
  3. XML データソースの参照

    • コンストラクタを使用し、XML ファイルの場所を指定する文字列値を渡すことによって、ドキュメントにデータを設定するのに使用される XML データソースを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクタを使用し、java.io.FileInputStream オブジェクトを渡すことによって、com.adobe.idp.Document オブジェクトを作成します。
  4. 印刷実行時オプションの設定

    印刷実行時オプションを表す PrintedOutputOptionsSpec オブジェクトを作成します。例えば、 PrintedOutputOptionsSpec オブジェクトの setCopies メソッド。

    メモ

    ページネーションの値は、 PrintedOutputOptionsSpec オブジェクトの setPagination メソッドを使用します。 同様に、ZPL 印刷ストリームに対して、OutputJog、PageOffset、Staple のオプションを設定することはできません。setPagination メソッドは PostScript の生成には無効です。PCL の生成にのみ有効です。

  5. 印刷するドキュメントの取得

    • を呼び出して、印刷するドキュメントを取得します。 OutputClient オブジェクトの generatePrintedOutput メソッドを使用して、次の値を渡します。

      • 印刷ストリームを指定する PrintFormat 列挙値。例えば、PostScript 印刷ストリームを作成するには、PrintFormat.PostScript を渡します。
      • フォームデザイン名を指定する文字列値。
      • 関連する販促物ファイル(画像ファイルなど)の場所を指定する文字列値です。
      • 使用する XDC ファイルの場所を指定する文字列値です。
      • ファイルに印刷するために必要な実行時オプションを含む PrintedOutputOptionsSpec オブジェクトです。
      • フォームデザインと統合するフォームデータが含まれる XML データソースを表す com.adobe.idp.Document オブジェクトです。

      このメソッドは、操作の結果を含む OutputResult オブジェクトを返します。

    • の作成 com.adobe.idp.Document を呼び出してプリンターに送信するオブジェクト OutputResult オブジェクトの getGeneratedDoc メソッド。 このメソッドは、com.adobe.idp.Document オブジェクトを返します。

  6. ネットワークプリンターへの印刷ストリームの送信

    を呼び出して、印刷ストリームをネットワークプリンターに送信します。 OutputClient オブジェクトの sendToPrinter メソッドを使用して、次の値を渡します。

    • プリンターに送信する印刷ストリームを表す com.adobe.idp.Document オブジェクト。
    • 使用するプリンタープロトコルを指定する PrinterProtocol 列挙値。例えば、SharedPrinter プロトコルを指定するには、PrinterProtocol.SharedPrinter を渡します。
    • 印刷サーバーの名前を指定する文字列値です。例えば、印刷サーバーの名前が「PrintServer1」である場合、\\\PrintSever1 を渡します。
    • プリンターの名前を指定する文字列値。例えば、プリンター名が「Printer1」の場合、\\\PrintSever1\Printer1 を渡します。
    メモ

    この sendToPrinter メソッドが AEM Forms API バージョン 8.2.1 に追加されました。

Web サービス API を使用してプリンターに印刷ストリームを送信する

Output API(web サービス)を使用して、印刷ストリームをネットワークプリンターに送信します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。

  2. Output クライアントオブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。
  3. XML データソースを参照します。

    • コンストラクターを使用して BLOB オブジェクトを作成します。この BLOB オブジェクトは、フォームデータの保存に使用されます。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを作成します。フォームデータを含む XML ファイルの場所を指定する文字列値を渡します。
    • System.IO.FileStream オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列の長さを決定するには、 System.IO.FileStream オブジェクトの Length プロパティ。
    • を呼び出して、バイト配列にストリームデータを入力します。 System.IO.FileStream オブジェクトの Read メソッドを使用し、読み込むバイト配列、開始位置、ストリームの長さを渡す。
    • MTOM フィールドを割り当てて、BLOB オブジェクトにバイト配列の内容を入力します。
  4. 印刷実行時オプションを設定します。

    コンストラクターを使用して PrintedOutputOptionsSpec オブジェクトを作成します。たとえば、印刷部数を指定するには、印刷部数を表す整数値を割り当てます。 PrintedOutputOptionsSpec オブジェクトの copies データメンバー。

    メモ

    ページネーションの値は、 PrintedOutputOptionsSpec オブジェクトの pagination ZPL 印刷ストリームを生成する場合は、データメンバー。 同様に、ZPL 印刷ストリームに対して、OutputJog、PageOffset、Staple のオプションを設定することはできません。この pagination データメンバーは PostScript の生成に対して無効です。PCL の生成にのみ有効です。

  5. 印刷するドキュメントを取得します。

    • を呼び出して、印刷するドキュメントを取得します。 OutputServiceService オブジェクトの generatePrintedOutput メソッドを使用して、次の値を渡します。

      • 印刷ストリームを指定する PrintFormat 列挙値。例えば、PostScript 印刷ストリームを作成するには、PrintFormat.PostScript を渡します。
      • フォームデザイン名を指定する文字列値。
      • 関連する販促物ファイル(画像ファイルなど)の場所を指定する文字列値です。
      • 使用する XDCファイルの場所を指定する文字列値。
      • ネットワークプリンターに印刷ストリームを送信する際に使用される印刷実行時のオプションを含む PrintedOutputOptionsSpec オブジェクト。
      • フォームデータを含んだ XML データソースを含む BLOB オブジェクト。
      • generatePrintedOutput メソッドによって入力される BLOB オブジェクト。この generatePrintedOutput メソッドは、ドキュメントを説明する生成されたメタデータをこのオブジェクトに入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
      • generatePrintedOutput メソッドによって入力される BLOB オブジェクト。この generatePrintedOutput メソッドは、このオブジェクトに結果データを入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
      • 操作の結果を含める OutputResult オブジェクト。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • の作成 BLOB オブジェクトを指定して、 OutputResult オブジェクトの generatedDoc メソッド。 このメソッドは、generatePrintedOutput メソッドによって返される PostScript データを含む BLOB オブジェクトを返します。

  6. 印刷ストリームをネットワークプリンターに送信します。

    を呼び出して、印刷ストリームをネットワークプリンターに送信します。 OutputClient オブジェクトの sendToPrinter メソッドを使用して、次の値を渡します。

    • プリンターに送信する印刷ストリームを表す BLOB オブジェクト。
    • 使用するプリンタープロトコルを指定する PrinterProtocol 列挙値。例えば、SharedPrinter プロトコルを指定するには、PrinterProtocol.SharedPrinter を渡します。
    • 以前のパラメーター値を使用するかどうかを指定する bool 値。値 true を渡します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • 印刷サーバーの名前を指定する文字列値です。例えば、印刷サーバーの名前が「PrintServer1」であると仮定した場合、\\\PrintSever1 を渡します。
    • プリンターの名前を指定する文字列値です。例えば、プリンター名が「Printer1」であると仮定した場合、\\\PrintSever1\Printer1 を渡します。
    メモ

    この sendToPrinter メソッドが AEM Forms API バージョン 8.2.1 に追加されました。

複数の Output ファイルの作成

Output サービスでは、XML データソース内のレコードごとに個別のドキュメントを作成することも、すべてのレコードを含む単一のファイルを作成することもできます(この機能はデフォルトです)。例えば、10 個のレコードが XML データソース内に配置され、Output Service API を使用して、各レコードに対して個別の PDF ドキュメント(または他の種類の出力)を作成するように Output サービスに指示したとします。その結果、Output サービスは 10 個の PDF ドキュメントを生成します(ドキュメントを作成する代わりに、1 台のプリンターに複数の印刷ストリームを送信できます)。

次の図は、複数のレコードを含んだ XML データファイルを Output サービスで処理する様子も示しています。ただし、すべてのデータレコードを含む単一のPDFドキュメントを作成するように Output サービスに指示したとします。 この場合、Output サービスは、すべてのレコードを含む 1 つのドキュメントを生成します。

次の図は、複数のレコードを含んだ XML データファイルを Output サービスで処理する様子を示しています。データレコードごとに個別の PDF ドキュメントを作成するように Output サービスに指示するとします。この場合、Output サービスは、データレコードごとに個別の PDF ドキュメントを生成します。

cm_outputbatchmany

次の XML データは、3 つのデータレコードを含むデータファイルの例を示しています。

 <?xml version="1.0" encoding="UTF-8"?>
 <batch>
 <LoanRecord>
     <mortgageAmount>500000</mortgageAmount>
     <lastName>Blue</lastName>
     <firstName>Tony</firstName>
     <SSN>555666777</SSN>
     <PositionTitle>Product Manager</PositionTitle>
     <Address>555 No Where Dr</Address>
     <City>New York</City>
     <StateProv>New York</StateProv>
     <ZipCode>51256</ZipCode>
     <Email>TBlue@NoMailServer.com</Email>
     <PhoneNum>555-7418</PhoneNum>
     <FaxNum>555-9981</FaxNum>
     <Description>Buy a home</Description>
 </LoanRecord>
 <LoanRecord>
     <mortgageAmount>300000</mortgageAmount>
     <lastName>White</lastName>
     <firstName>Sam</firstName>
     <SSN>555666222</SSN>
     <PositionTitle>Program Manager</PositionTitle>
     <Address>557 No Where Dr</Address>
     <City>New York</City>
     <StateProv>New York</StateProv>
     <ZipCode>51256</ZipCode>
     <Email>SWhite@NoMailServer.com</Email>
     <PhoneNum>555-7445</PhoneNum>
     <FaxNum>555-9986</FaxNum>
     <Description>Buy a home</Description>
 </LoanRecord>
 <LoanRecord>
     <mortgageAmount>700000</mortgageAmount>
     <lastName>Green</lastName>
     <firstName>Steve</firstName>
     <SSN>55566688</SSN>
     <PositionTitle>Project Manager</PositionTitle>
     <Address>445 No Where Dr</Address>
     <City>New York</City>
     <StateProv>New York</StateProv>
     <ZipCode>51256</ZipCode>
     <Email>SGreeb@NoMailServer.com</Email>
     <PhoneNum>555-2211</PhoneNum>
     <FaxNum>555-2221</FaxNum>
     <Description>Buy a home</Description>
 </LoanRecord>
 </batch>

各データレコードを開始および終了する XML 要素は、LoanRecord であることに注意してください。この XML 要素は、複数のファイルを生成するアプリケーションロジックによって参照されます。

メモ

Output サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

XML データソースに基づいて複数の PDF ファイルを作成するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Output クライアントオブジェクトを作成します。
  3. XML データソースを参照します。
  4. PDF の実行時オプションを設定します。
  5. レンダリングの実行時オプションを設定します。
  6. 複数の PDF ファイルを生成します。
  7. 操作の結果を取得します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、必ずプロキシファイルを含めてください。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar(AEM Forms が JBoss にデプロイされている場合に必要)
  • jbossall-client.jar(AEM Formsが JBoss にデプロイされている場合に必要)

AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar ファイルと jbossall-client.jar ファイルを、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。

Output クライアントオブジェクトの作成

プログラムで Output サービスの操作を実行する前に、Output サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、OutputClient オブジェクトを作成します。Output web サービス API を使用している場合は、OutputServiceService オブジェクトを作成します。

XML データソースの参照

複数のレコードを含む XML データソースを参照します。データレコードを区切るには、XML 要素を使用する必要があります。例えば、この節で前述した XML データソースの例では、データレコードを区切る XML 要素の名前は LoanRecord です。

データを入力するフォームフィールドごとに、XML 要素が存在している必要があります。XML 要素名は、フィールド名と一致する必要があります。XML 要素がフォームフィールドに対応していない場合や、XML 要素名がフィールド名と一致しない場合、XML 要素は無視されます。すべての XML 要素が指定されている場合、XML 要素の表示順序を一致させる必要はありません。

PDF 実行時オプションの設定

Output サービスで、XML データソースに基づいて複数のファイルを正常に作成するために、次のランタイムオプションを設定します。

  • 多数のファイル:Output サービスで 1 つのドキュメントを作成するか、複数のドキュメントを作成するかを指定します。true または false を指定できます。XML データソース内のデータレコードごとに個別のドキュメントを作成するには、true を指定します。
  • ファイル URI:Output サービスで生成されるファイルの場所を指定します。例えば、C:\Adobe\forms\Loan.pdf と指定したとします。この場合、Output サービスは Loan.pdf という名前のファイルを作成して C:\Adobe\forms フォルダーに配置します。複数のファイルが存在する場合、ファイル名は Loan0001.pdf、Loan0002.pdf、Loan0003.pdf などです。 ファイルの場所を指定した場合、ファイルはクライアントコンピューターではなくサーバーに配置されます。
  • レコード名:データレコードを区切るデータソース内の XML 要素名を指定します。例えば、この節で前述した XML データソースの例では、データレコードを区切る XML 要素の名前は LoanRecord になります。なお、「レコード名」実行時オプションを設定する代わりに、データレコードを含んだ要素レベルを示す数値をレコードレベルに割り当てることで、「レコードレベル」を設定できます。ただし、設定できるのは「レコード名」または「レコードレベル」のみです。両方の値を設定することはできません。

レンダリング実行時オプションの設定

複数のファイルを作成しながら、レンダリング実行時オプションを設定できます。これらのオプションは必須ではありませんが(必須の出力実行時オプションとは異なります)、Output サービスのパフォーマンス向上などのタスクを実行できます。例えば、Output サービスがパフォーマンスを向上させるために使用するフォームデザインをキャッシュできます。

Output サービスは、バッチレコードを処理するときに、複数のレコードを含んだデータを増分的に読み込みます。つまり、Output サービスはデータをメモリに読み込み、レコードのバッチが処理されるとデータを解放します。Output サービスは、2 つの実行時オプションのいずれかが設定されている場合、増分的にデータを読み込みます。「レコード名」実行時オプションを設定する場合、Output サービスは増分的にデータを読み込みます。同様に、「レコードレベル」実行時オプションを 2 以上に設定した場合、Output サービスは増分的にデータを読み込みます。

Output サービスで増分読み込みを実行するかどうかは、 PDFOutputOptionsSpec または PrintedOutputOptionSpec オブジェクトの setLazyLoading メソッド。 このメソッドに値 false を渡すと、増分読み込みがオフになります。

複数の PDF ファイルの生成

複数のデータレコードを含んだ有効な XML データソースを参照し、実行時オプションを設定した後、Output サービスを呼び出して、複数のファイルを生成できます。複数のレコードを生成する場合、 OutputResult オブジェクトの getGeneratedDoc メソッドの戻り値 null.

操作の結果の取得

Output サービスが操作を実行すると、操作が成功したかどうかを示す XML データが返されます。次の XML が Output サービスから返されます。この例では、Output サービスは 42 個のドキュメントを生成しました。

 <?xml version="1.0" encoding="UTF-8"?>
 <printResult>
 <status>0</status>
 <requestId>4ad85f9e2</requestId>
 <context/>
 <messages>
 <message>Printed all 42 records successfully.</message>
 </messages>
 <printSpec>
 <input>
 <validated>true</validated>
 <dataFile recordIdField="" recordLevel="0" recordName="LoanRecord"/>
 <sniffRules lookAhead="300"/>
 <formDesign>Loan.xdp</formDesign>
 <contentRoot>C:\Adobe</contentRoot>
 <metadata-spec record="false"/>
 </input>
 <output>
 <format>PDF</format>
 <fileURI>C:\Adobe\forms\Loan.pdf</fileURI>
 <optionString>cacheenabled=true&padebug=false&linearpdf=false&pdfarevisionnumber=1&pdfaconformance=A&taggedpdf=false&TransactionTimeOut=180</optionString>
 <waitForResponse>true</waitForResponse>
 <outputStream>multiple</outputStream>
 </output>
 </printSpec>
 </printResult>

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Output Service API のクイックスタート

Java API を使用した複数の PDF ファイルの作成

Output API(Java)を使用して複数の PDF ファイルを作成するには、次の手順に従います。

  1. プロジェクトファイルを含める」

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output クライアントオブジェクトの作成

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用し ServiceClientFactory オブジェクトを渡すことで、OutputClient オブジェクトを作成します。
  3. XML データソースの参照

    • コンストラクターを使用し、XML ファイルの場所を指定する文字列値を渡すことで、複数のレコードを含んだ XML データソースを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクターを使用し java.io.FileInputStream オブジェクトを渡すことで、com.adobe.idp.Document オブジェクトを作成します。
  4. PDF 実行時オプションを設定

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • を呼び出して、「多数のファイル」オプションを設定します。 PDFOutputOptionsSpec オブジェクトの setGenerateManyFiles メソッド。 例えば、XML データソース内のレコードごとに個別の PDF ファイルを作成するように Output サービスに指示するには、値 true を渡します。なお、false を渡した場合、Output サービスはすべてのレコードを含んだ単一の PDF ドキュメントを生成します。
    • を呼び出して、「 File URI 」オプションを設定します。 PDFOutputOptionsSpec オブジェクトの setFileUri メソッドを使用して、Output サービスが生成するファイルの場所を指定する string 値を渡します。 ファイル URI オプションは、クライアントコンピューターではなく、AEM Forms をホストする J2EE アプリケーションサーバーに対する相対パスです。
    • を呼び出して、「レコード名」オプションを設定します。 OutputOptionsSpec オブジェクトの setRecordName メソッドを使用し、データレコードを区切るデータソース内の XML 要素名を指定する文字列値を渡す 例えば、この節で前述した XML データソースを考えてみましょう。この場合、データレコードを区切る XML 要素の名前は LoanRecord です。
  5. レンダリング実行時オプションの設定

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • フォームデザインをキャッシュし、 RenderOptionsSpec オブジェクトの setCacheEnabled そして通り過ぎ Boolean の値 true.
  6. 複数の PDF ファイルの生成

    を呼び出して複数のPDFファイルを生成する OutputClient オブジェクトの generatePDFOutput メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • フォームデザイン名を指定する文字列値。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータを含む XML データソースを含む com.adobe.idp.Document オブジェクト。

    この generatePDFOutput メソッドは、操作の結果を含む OutputResult オブジェクトを返します。

  7. 操作の結果を取得します。

    • generatePDFOutput メソッドの結果を含む XML ファイルを表す java.io.File オブジェクトを作成します。ファイル名の拡張子が .xml であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します ( com.adobe.idp.Document が返したオブジェクト applyUsageRights メソッド )。

関連情報

手順の概要

クイックスタート(EJB モード):Java API を使用した複数の PDF ファイルの作成

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Web サービス API を使用した複数の PDF ファイルの作成

Output API(web サービス)を使用して複数の PDF ファイルを作成します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。

  2. Output クライアントオブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。
  3. XML データソースを参照します。

    • コンストラクターを使用して BLOB オブジェクトを作成します。BLOB オブジェクトは、複数のレコードを含むフォームデータを保存するために使用します。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを作成します。複数のレコードを含む XML ファイルの場所を表す文字列値を渡します。
    • System.IO.FileStream オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列のサイズは、 System.IO.FileStream オブジェクトの Length プロパティ。
    • を呼び出して、バイト配列にストリームデータを入力します。 System.IO.FileStream オブジェクトの Read メソッドを使用し、読み込むバイト配列、開始位置、ストリームの長さを渡す。
    • バイト配列の内容を MTOM フィールドに割り当てることによって、BLOB オブジェクトにデータを設定します。
  4. PDF の実行時オプションを設定します。

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • 「多数のファイル」オプションを設定するには、 OutputOptionsSpec オブジェクトの generateManyFiles データメンバー。 例えば、値 true をこのデータメンバーに割り当てて、XML データソース内のレコードごとに個別の PDF ファイルを作成するよう Output サービスに指示します(このデータメンバーに false を割り当てると、Output サービスは、すべてのレコードを含む単一の PDF を生成します)。
    • Output サービスが生成するファイルの場所を指定する string 値をに割り当てて、「 file URI 」オプションを設定します。 OutputOptionsSpec オブジェクトの fileURI データメンバー。 ファイル URI オプションは、クライアントコンピューターではなく、AEM Forms をホストする J2EE アプリケーションサーバーに対する相対パスです。
    • データレコードをに分割するデータソース内の XML 要素名を指定する文字列値を割り当てて、レコード名オプションを設定します。 OutputOptionsSpec オブジェクトの recordName データメンバー。
    • Output サービスが生成するコピーの数を指定する整数値を割り当てて、copies オプションを設定します OutputOptionsSpec オブジェクトの copies データメンバー。
  5. レンダリングの実行時オプションを設定します。

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • 値を割り当てて Output サービスのパフォーマンスを向上させるためにフォームデザインをキャッシュします true から RenderOptionsSpec オブジェクトの cacheEnabled データメンバー。
  6. 複数の PDF ファイルを生成します。

    を呼び出して複数のPDFファイルを作成する OutputServiceService オブジェクトの generatePDFOutputメソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDFドキュメントを生成するために、TransformationFormat.PDF を指定します。
    • フォームデザイン名を指定する文字列値。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータが含まれる XML データソースを含む BLOB オブジェクト。
    • generatePDFOutput メソッドによって設定される BLOB オブジェクトです。generatePDFOutput メソッドは、ドキュメントを表す生成されたメタデータをこのオブジェクトに設定します。
    • generatePDFOutput メソッドで入力した BLOB オブジェクト。generatePDFOutput メソッドは、このオブジェクトに結果データを入力します。
    • 操作の結果を格納する OutputResult オブジェクト。
  7. 操作の結果を取得します。

    • コンストラクターを呼び出し、結果データを含む XML ファイルの場所を表す文字列の値を渡すことにより、System.IO.FileStream オブジェクトを作成します。ファイル名の拡張子が .xml であることを確認します。
    • のデータコンテンツを格納するバイト配列を作成します。 BLOB オブジェクトに OutputServiceService オブジェクトの generatePDFOutput メソッド(8 番目のパラメーター)。 バイト配列を生成するには、 BLOB オブジェクトの binaryData データメンバー。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容を XML ファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

関連情報

手順の概要

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

検索ルールの作成

入力データを調べ、出力を生成するデータコンテンツに基づいた様々なフォームデザインを使用することで、Output サービスを導き出す検索ルールを作成できます。例えば、 mortgage というテキストが入力データ内にある場合、Output サービスは Mortgage.xdp という名前のフォームデザインを使用できます。同様に、 自動車 が入力データに含まれている場合、Output サービスは AutomobileLoan.xdp として保存されたフォームデザインを使用できます。 Output サービスでは異なる出力タイプを生成できますが、この節では、Output サービスが PDF ファイルを生成することを前提としています。以下の図は、XML データファイルを処理し、多数のフォームデザインの 1 つを使用して PDF ファイルを生成する Output サービスを示しています。

また、Output サービスではドキュメントパッケージを生成できます。このパッケージでは、データセットに複数のレコードが含まれており、各レコードがフォームデザインと照合され、1 つのドキュメントが複数のフォームデザインで構成されます。

cs_outputbatchmanyformdesigns2

メモ

Output サービスについて詳しくは、AEM Forms サービスリファレンスを参照してください。

手順の概要

ドキュメントの生成時に検索ルールを使用するように Output サービスを設定するには、以下の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Output クライアントオブジェクトを作成します。
  3. XML データソースを参照します。
  4. 検索ルールを定義します。
  5. PDF の実行時オプションを設定します。
  6. レンダリングの実行時オプションを設定します。
  7. PDF ドキュメントの生成
  8. 操作の結果を取得します。

プロジェクトファイルを含める

開発プロジェクトに必要なファイルを含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを必ず含めるようにします。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar(AEM Forms を JBoss にデプロイする場合に必要)
  • jbossall-client.jar(AEM Forms が JBoss にデプロイされている場合に必要)

AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar と jbossall-client.jar を、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。

Output クライアントオブジェクトの作成

Output サービスの処理をプログラムで実行する前に、Output サービスのクライアントオブジェクトを作成する必要があります。

XML データソースの参照

データを入力するフォームフィールドごとに、XML 要素が存在している必要があります。XML 要素名は、フィールド名と一致する必要があります。XML 要素がフォームフィールドに対応していない場合や、XML 要素名がフィールド名と一致しない場合、XML 要素は無視されます。すべての XML 要素が指定されている場合、XML 要素の表示順序を一致させる必要はありません。

検索ルールの定義

検索ルールを定義するには、Output サービスで検索する 1 つ以上のテキストパターンを入力データに定義します。定義する各テキストパターンに対して、そのテキストパターンが存在する場合に使用するフォームデザインを指定します。テキストパターンが存在する場合、Output サービスは対応するフォームデザインを使用して出力を生成します。テキストパターンの例は​mortgage​とします。

メモ

テキストパターンが存在しない場合は、デフォルトのフォームが使用されます。使用するフォームデザインがすべて、コンテンツルートにあることを確認します。

PDF 実行時オプションの設定

Output サービスで、複数のフォームデザインに基づいて PDF ドキュメントを正しく作成するために、以下の PDF 実行時オプションを設定します。

  • ファイル URI:Output サービスで生成する PDF ファイルの名前と場所を指定します。
  • ルール: 定義したルールを指定します。
  • LookAHead:定義されたテキストパターンをスキャンするために、入力データファイルの先頭から使用するバイト数を指定します。デフォルトは 500 バイトです。

レンダリング実行時オプションの設定

レンダリング実行時オプションは、PDF ファイルの作成時に設定できます。(PDF 実行時オプションとは異なり)これらのオプションは必須ではありませんが、Output サービスのパフォーマンス向上などのタスクを実行できます。例えば、Output サービスがパフォーマンスを向上させるために使用するフォームデザインをキャッシュできます。

PDF ドキュメントの生成

有効な XML データソースを参照し、実行時オプションを設定した後、Output サービスを呼び出すと、PDF ドキュメントが生成されます。Output サービスが入力データ内で指定されたテキストパターンを見つけた場合は、対応するフォームデザインを使用します。テキストパターンを使用しない場合、Output サービスはデフォルトのフォームデザインを使用します。

操作の結果を取得する

Output サービスが処理を実行すると、処理が成功したかどうかを示す XML データが返されます。

関連項目

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Output Service API のクイックスタート

Java API を使用した検索ルールの作成

Output API(Java)を使用して検索ルールを作成するには、以下の手順を実行します。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output クライアントオブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡すことにより、OutputClient オブジェクトを作成します。
  3. XML データソースを参照します。

    • XML データソースを表す java.io.FileInputStream オブジェクトを作成します。この XML データソースのコンストラクターを使用して、XML ファイルの場所を指定する文字列の値を渡すことで、PDF ドキュメントが追加されます。
    • コンストラクターを使用して java.io.FileInputStream オブジェクトを渡し、com.adobe.idp.Document オブジェクトを作成します。
  4. 検索ルールを定義します。

    • コンストラクターを使用して Rule オブジェクトを作成します。
    • を呼び出して、テキストパターンを定義する Rule オブジェクトの setPattern メソッドを使用し、テキストパターンを指定する string 値を渡す。
    • を呼び出して、対応するフォームデザインを定義します。 Rule オブジェクトの setForm メソッド。 フォームデザイン名を指定する文字列の値を渡します。
    メモ

    定義するテキストパターンごとに、上述の 3 つのサブステップを繰り返します。

    • java.util.ArrayList コンストラクターを使用して java.util.List オブジェクトを作成します。
    • 次ごとに Rule 作成したオブジェクトを呼び出します。 java.util.List オブジェクトの add メソッドを使用して、 Rule オブジェクト。
  5. PDF の実行時オプションを設定します。

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • を呼び出して、Output サービスが生成するPDFファイルの名前と場所を指定します。 PDFOutputOptionsSpec オブジェクトの setFileURI メソッド。 PDF ファイルの場所を指定する文字列の値を渡します。ファイル URI オプションは、クライアントコンピューターではなく、AEM Forms をホストする J2EE アプリケーションサーバーに対する相対パスです。
    • を呼び出して定義したルールを設定します。 PDFOutputOptionsSpec オブジェクトの setRules メソッド。 Rule オブジェクトを含む java.util.List オブジェクトを渡します。
    • を呼び出して、定義済みのテキストパターンをスキャンするバイト数を設定します。 PDFOutputOptionsSpec オブジェクトの setLookAhead メソッド。 バイト数を表す整数値を渡します。
  6. レンダリングの実行時オプションを設定します。

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • フォームデザインをキャッシュし、 RenderOptionsSpec オブジェクトの setCacheEnabled そして通り過ぎ true.
  7. PDF ドキュメントの生成

    を呼び出して、複数のフォームデザインに基づくPDFドキュメントを生成する OutputClient オブジェクトの generatePDFOutput メソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • デフォルトのフォームデザインの名前を指定する文字列の値。テキストパターンが見つからない場合に使用するフォームデザインです。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF の実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリングの実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデータを含む com.adobe.idp.Document オブジェクト。このフォームデータは、定義したテキストパターンを Output サービスで検索するためのものです。

    generatePDFOutput メソッドは、操作の結果を含む OutputResult オブジェクトを返します。

  8. 操作の結果を取得します。

    • の作成 com.adobe.idp.Document オブジェクトのステータスを表すオブジェクト generatePDFOutput メソッドを呼び出す OutputResult オブジェクトの getStatusDoc メソッド。
    • 操作の結果を格納する java.io.File オブジェクトを作成します。ファイル拡張子が .xml であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 com.adobe.idp.Document オブジェクトをファイルに追加します ( com.adobe.idp.Document が返したオブジェクト getStatusDoc メソッド )。

関連情報

手順の概要

クイックスタート(EJB モード):Java API を使用した検索ルールの作成

クイックスタート(SOAP モード):Java API を使用した検索ルールの作成

AEM Forms の Java ライブラリファイルを含める

接続プロパティの設定

Web サービス API を使用して検索ルールを作成する

Output API(web サービス)を使用して検索ルールを作成します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。

  2. Output クライアントオブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。
  3. XML データソースを参照します。

    • コンストラクターを使用して BLOB オブジェクトを作成します。BLOB オブジェクトは、PDF ドキュメントと結合されるデータを格納するために使用されます。
    • コンストラクターを呼び出し、暗号化する PDF ドキュメントのファイルの場所とファイルを開くモードを表す文字列値を渡して、System.IO.FileStream オブジェクトを作成します。
    • System.IO.FileStream オブジェクトのコンテンツを格納するバイト配列を作成します。バイト配列のサイズは、 System.IO.FileStream オブジェクトの Length プロパティ。
    • を呼び出して、バイト配列にストリームデータを入力します。 System.IO.FileStream オブジェクトの Read メソッドを使用し、読み込むバイト配列、開始位置、ストリームの長さを渡す。
    • MTOM フィールドにバイト配列の内容を割り当てて、BLOB オブジェクトにデータを入力します。
  4. 検索ルールを定義します。

    • コンストラクターを使用して Rule オブジェクトを作成します。
    • テキストパターンを定義するには、 Rule オブジェクトの pattern データメンバー。
    • 対応するフォームデザインを定義するには、フォームデザインを指定する文字列値を Rule オブジェクトの form データメンバー。
    メモ

    定義するテキストパターンごとに、上述の 3 つのサブステップを繰り返します。

    • ルールを格納する MyArrayOf_xsd_anyType オブジェクトを作成します。
    • Rule オブジェクトを MyArrayOf_xsd_anyType 配列の要素に割り当てます。を呼び出す MyArrayOf_xsd_anyType オブジェクトの Add メソッド Rule オブジェクト。
  5. PDF 実行時オプションを設定

    • コンストラクターを使用して PDFOutputOptionsSpec オブジェクトを作成します。
    • Output サービスが生成するPDFファイルの場所をに指定する string 値を割り当てて、「 file URI 」オプションを設定します PDFOutputOptionsSpec オブジェクトの fileURI データメンバー。 ファイル URI オプションは、クライアントコンピューターではなく、AEM Forms をホストする J2EE アプリケーションサーバーに対する相対パスです。
    • Output サービスが生成するコピーの数を指定する整数値を割り当てて、copies オプションを設定します PDFOutputOptionsSpec オブジェクトの copies データメンバー。
    • 定義したルールを設定するには、 MyArrayOf_xsd_anyType ルールを PDFOutputOptionsSpec オブジェクトの rules データメンバー。
    • 定義したテキストパターンをスキャンするバイト数を設定します。スキャンするバイト数を表す整数値を割り当てます。 PDFOutputOptionsSpec オブジェクトの lookAhead データメソッド。
  6. レンダリング実行時オプションの設定

    • コンストラクターを使用して RenderOptionsSpec オブジェクトを作成します。
    • 値を割り当てて Output サービスのパフォーマンスを向上させるためにフォームデザインをキャッシュします true から RenderOptionsSpec オブジェクトの cacheEnabled データメンバー。
    メモ

    次を使用してPDFドキュメントのバージョンを設定することはできません: RenderOptionsSpec オブジェクトの pdfVersion メンバー ( 入力ドキュメントがAcrobatフォームの場合 ) 出力 PDF ドキュメントには、Acrobat フォームの PDF バージョンが保持されます。同様に、タグ付きPDFオプションを RenderOptionsSpec オブジェクトの taggedPDF メソッドを使用します。

    メモ

    線形化PDFは、 RenderOptionsSpec オブジェクトの linearizedPDF メンバー:入力PDF・ドキュメントが認証済みまたはデジタル署名済みの場合。 詳しくは、 PDF ドキュメントのデジタル署名を参照してください。

  7. PDF ドキュメントの生成

    を呼び出してPDFドキュメントを作成する OutputServiceService オブジェクトの generatePDFOutputメソッドを使用して、次の値を渡します。

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • フォームデザイン名を指定する文字列値。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータが含まれる XML データソースを含む BLOB オブジェクト。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。generatePDFOutput メソッドは、ドキュメントを説明する生成されたメタデータをこのオブジェクトに入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • generatePDFOutput メソッドによって入力される BLOB オブジェクト。generatePDFOutput メソッドは、このオブジェクトに結果データを入力します。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    • 操作の結果を含む OutputResult オブジェクト。(このパラメーター値は、web サービスの呼び出しにのみ必要です)。
    メモ

    を呼び出してPDFドキュメントを生成する場合 generatePDFOutput メソッドを使用しない場合、使用権限を含む署名済み、認証済みの XFAPDFフォームにデータを結合することはできません。 使用権限について詳しくは、PDF ドキュメントへの使用権限の適用を参照してください。

  8. 操作の結果を取得します。

    • コンストラクターを呼び出し、結果データを含む XML ファイルの場所を表す文字列値を渡すことにより、System.IO.FileStream オブジェクトを作成します。ファイル拡張子が XML であることを確認します。
    • のデータコンテンツを格納するバイト配列を作成します。 BLOB オブジェクトに OutputServiceService オブジェクトの generatePDFOutput メソッド(8 番目のパラメーター)。 バイト配列を生成するには、 BLOB オブジェクトの MTOM データメンバー。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容を XML ファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

関連情報

手順の概要

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

PDF ドキュメントの平坦化

Output サービスを使用すると、インタラクティブ PDF ドキュメントを非インタラクティブ PDF に変換できます。インタラクティブ PDF ドキュメントでは、ユーザーは PDF ドキュメントフィールドにデータを入力したり、このフィールドのデータを変更したりできます。インタラクティブ PDF ドキュメントを非インタラクティブ PDF ドキュメントに変換するプロセスは「フラット化」と呼ばれます。PDF ドキュメントをフラット化すると、ユーザーはドキュメントフィールドにあるデータを変更できなくなります。PDF ドキュメントを統合する理由の 1 つは、データを変更できないようにすることです。

次のタイプの PDF ドキュメントを統合できます。

  • インタラクティブ XFA PDF ドキュメント
  • Acrobat フォーム

非インタラクティブ PDF ドキュメントの PDF をフラット化しようとすると、例外が発生します。

メモ

Output サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要

インタラクティブ PDF ドキュメントを非インタラクティブ PDF ドキュメントにフラット化するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Output クライアントオブジェクトを作成します。
  3. インタラクティブな PDF ドキュメントを取得します。
  4. PDF ドキュメントを変換します。
  5. 非インタラクティブ PDF ドキュメントを PDF ファイルとして保存します。

プロジェクトファイルを含める

必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用する場合は、必ずプロキシファイルを含めてください。

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar(AEM Forms が JBoss にデプロイされている場合に必要)
  • jbossall-client.jar(AEM Formsが JBoss にデプロイされている場合に必要)

AEM Formsが JBoss 以外のサポート対象の J2EE アプリケーションサーバーにデプロイされている場合は、adobe-utilities.jar ファイルと jbossall-client.jar ファイルを、AEM Formsがデプロイされている J2EE アプリケーションサーバーに固有の JAR ファイルに置き換える必要があります。 すべての AEM Forms JAR ファイルの場所については、 AEM Forms Java ライブラリファイルを含めるを参照してください。

Output クライアントオブジェクトの作成

プログラムで Output サービスの操作を実行する前に、Output サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、OutputClient オブジェクトを作成します。Output web サービス API を使用している場合は、OutputServiceService オブジェクトを作成します。

インタラクティブ PDF ドキュメントの取得

非インタラクティブ PDF ドキュメントに変換するインタラクティブ PDF ドキュメントを取得します。非インタラクティブ PDF ドキュメントを変換しようとすると、例外が発生します。

PDF ドキュメントの変換

インタラクティブ PDF ドキュメントを取得した後、そのドキュメントを非インタラクティブ PDF ドキュメントに変換できます。Output サービスは、非インタラクティブ PDF ドキュメントを返します。

非インタラクティブ PDF ドキュメントを PDF ファイルとして保存

非インタラクティブ PDF ドキュメントは、PDF ファイルとして保存できます。

関連トピック

Java API を使用した PDF ドキュメントのフラット化

Web サービス API を使用した PDFドキュメントの統合

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Output Service API のクイックスタート

Java API を使用した PDF ドキュメントのフラット化

Output API(Java)を用いて、インタラクティブな PDF ドキュメントを非インタラクティブな PDF ドキュメントにフラット化することができます。

  1. プロジェクトファイルを含めます。

    Java プロジェクトのクラスパスに、adobe-output-client.jar などのクライアント JAR ファイルを含めます。

  2. Output クライアントオブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用して OutputClient オブジェクトを作成し、ServiceClientFactory オブジェクトを渡します。
  3. インタラクティブな PDF ドキュメントを取得します。

    • 変換するインタラクティブ PDF ドキュメントを表す java.io.FileInputStream オブジェクトを作成し、そのコンストラクターを使用して、インタラクティブ PDF ファイルの場所を指定する文字列値を渡します。
    • コンストラクターを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. PDF ドキュメントを変換します。

    を呼び出して、インタラクティブPDFドキュメントを非インタラクティブPDFドキュメントに変換します。 OutputServiceService オブジェクトの transformPDF メソッドを使用して、次の値を渡します。

    • インタラクティブな PDF ドキュメントを含む com.adobe.idp.Document オブジェクト。
    • TransformationFormat enum の値。非インタラクティブ PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • リビジョン番号を指定する PDFARevisionNumber enum 値。このパラメータは PDF/A ドキュメント向けであるため、null を指定できます。
    • 修正番号と年がコロンで区切られた文字列の値。このパラメータは PDF/A ドキュメント向けであるため、null を指定できます。
    • PDF/A 準拠レベルを表す PDFAConformance enum 値。このパラメータは PDF/A 文書向けであるため、null を指定できます。

    transformPDF メソッドは、非インタラクティブな PDF ドキュメントを含む com.adobe.idp.Document オブジェクトを返します。

  5. 非インタラクティブ PDF ドキュメントを PDF ファイルとして保存します。

    • java.io.File オブジェクトを作成し、ファイル拡張子が .pdf であることを確認します。
    • を呼び出す Document オブジェクトの copyToFile メソッドを使用して、 Document オブジェクトをファイルに追加します ( Document が返したオブジェクト transformPDF メソッド )。

関連情報

手順の概要

クイックスタート(EJB モード):Java API を使用して PDF 文書を変換する

クイックスタート(SOAP モード):Java API を使用して PDF ドキュメントを変換する

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Web サービス API を使用した PDFドキュメントの統合

Output API(Web サービス)を利用して、インタラクティブな PDF ドキュメントを非インタラクティブな PDF ドキュメントにフラット化することができます。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 を使用するようにします。

    メモ

    localhost を、AEM Forms をホストするサーバーの IP アドレスで置換します。

  2. Output クライアントオブジェクトを作成します。

    • デフォルトのコンストラクターを使用して、OutputServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクターを使用して、OutputServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/OutputService?blob=mtom)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。ただし、?blob=mtom を指定して MTOM を使用します。

    • OutputServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • OutputServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を OutputServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • フィールド BasicHttpBindingSecurity.Security.Mode に定数値 BasicHttpSecurityMode.TransportCredentialOnly を割り当てます。
  3. インタラクティブな PDF ドキュメントを取得します。

    • コンストラクターを使用して BLOB オブジェクトを作成します。BLOB オブジェクトは、インタラクティブな PDF ドキュメントを格納するために使用されます。
    • System.IO.FileStream オブジェクトを作成するには、そのコンストラクターを呼び出し、インタラクティブ PDF ドキュメントのファイルの場所を表す文字列の値を渡します。
    • System.IO.FileStream オブジェクトの内容を格納するバイト配列を作成します。バイト配列のサイズは、 System.IO.FileStream オブジェクトの Length プロパティ。
    • を呼び出して、バイト配列にストリームデータを入力します。 System.IO.FileStream オブジェクトの Read メソッドを使用し、読み込むバイト配列、開始位置、ストリームの長さを渡す。
    • MTOM プロパティを割り当てて、BLOB オブジェクトにバイト配列の内容を入力します。
  4. PDF ドキュメントを変換します。

    を呼び出して、インタラクティブPDFドキュメントを非インタラクティブPDFドキュメントに変換します。 OutputClient オブジェクトの transformPDF メソッドを使用して、次の値を渡します。

    • インタラクティブ PDF ドキュメントを含む BLOB オブジェクト。
    • TransformationFormat 列挙値。非インタラクティブ PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • リビジョン番号を指定する PDFARevisionNumber 列挙値。
    • PDFARevisionNumber 列挙値を使用するかどうかを指定するブール値。このパラメーターは PDF/A ドキュメント向けなので、false を指定できます。
    • 修正番号と年がコロンで区切られた文字列の値。このパラメーターは PDF/A ドキュメント向けなので、null を指定できます。
    • PDF/A 適合レベルを表す PDFAConformance 列挙値。
    • PDFAConformance 列挙値を使用するかどうかを指定するブール値。このパラメーターは PDF/A ドキュメント向けなので、false を指定できます。

    transformPDF メソッドは、非インタラクティブな PDF ドキュメントを含む BLOB オブジェクトを返します。

  5. 非インタラクティブ PDF ドキュメントを PDF ファイルとして保存します。

    • System.IO.FileStream オブジェクトを作成するには、そのコンストラクターを呼び出し、非インタラクティブ PDF ドキュメントのファイルの場所を表す文字列値を渡します。
    • transformPDF メソッドによって返された BLOB オブジェクトのデータコンテンツを格納するバイト配列を作成します。バイト配列を生成するには、 BLOB オブジェクトの MTOM データメンバー。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • を呼び出して、バイト配列の内容をPDFファイルに書き込みます。 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

関連情報

手順の概要

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

このページ