Java API を使用して、送信された XML データを使用した PDF ドキュメントを作成する

Forms、Output、Document Management API(Java)を使用して、送信された XML データを使用した PDF ドキュメントを作成します。

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

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

  2. Forms、Output、Document Management オブジェクトを作成する

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

    • FormsServiceClient オブジェクトの processFormSubmission メソッドを呼び出して、次の値を渡します。

      • フォームデータを含む com.adobe.idp.Document オブジェクト。
      • 関連するすべての HTTP ヘッダーを含む、環境変数を指定する文字列値。CONTENT_TYPE 環境変数に 1 つ以上の値を指定して、処理するコンテンツタイプを指定します。例えば、XML データを処理するには、このパラメーター CONTENT_TYPE=text/xml に次の文字列値を指定します。
      • Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) などの HTTP_USER_AGENT ヘッダー値を指定する文字列値。
      • 実行時オプションを格納する RenderOptionsSpec オブジェクト。

      processFormSubmission メソッドは、フォーム送信の結果を含む FormsResult オブジェクトを返します。

    • FormsResult オブジェクトの getAction メソッドを呼び出して、Forms サービスがフォームデータの処理を完了したかどうかを判断します。このメソッドが値 0 を返した場合、処理するデータの準備が整っています。

    • フォームデータを取得するには、FormsResult オブジェクトの getOutputContent メソッドを呼び出して、com.adobe.idp.Document オブジェクトを作成します。(このオブジェクトには、Output サービスに送信できるフォームデータが含まれています。)

    • java.io.InputStream オブジェクトを作成するには、java.io.DataInputStream コントラクターを呼び出して、com.adobe.idp.Document オブジェクトを渡します。

    • 静的な org.w3c.dom.DocumentBuilderFactory オブジェクトの newInstance メソッドを呼び出して、org.w3c.dom.DocumentBuilderFactory オブジェクトを作成します。

    • org.w3c.dom.DocumentBuilderFactory オブジェクトの newDocumentBuilder メソッドを呼び出すことによって org.w3c.dom.DocumentBuilder オブジェクトを作成します。

    • org.w3c.dom.DocumentBuilder オブジェクトの parse メソッドを呼び出して java.io.InputStream オブジェクトを渡すことによって org.w3c.dom.Document オブジェクトを作成します。

    • XML ドキュメント内の各ノードの値を取得します。このタスクを実行する 1 つの方法は、org.w3c.dom.Document オブジェクトおよび値を取得するノードの名前の 2 つのパラメーターを受け入れるカスタムメソッドを作成することです。このメソッドは、ノードの値を表す文字列値を返します。このプロセスに続くコード例では、このカスタムメソッドは getNodeText と呼ばれています。このメソッドの本文を示します。

  4. Output サービスを使用して、非インタラクティブ PDF ドキュメントを作成します。

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

    • TransformationFormat 列挙値。PDF ドキュメントを生成するには、TransformationFormat.PDF を指定します。
    • フォームデザイン名を指定する文字列値。フォームデザインが Forms サービスから取得したフォームデータと互換性があることを確認してください。
    • フォームデザインが配置されているコンテンツルートを指定する文字列の値です。
    • PDF 実行時オプションを含む PDFOutputOptionsSpec オブジェクト。
    • レンダリング実行時オプションを含む RenderOptionsSpec オブジェクト。
    • フォームデザインと結合するデータを含む XML データソースを含む com.adobe.idp.Document オブジェクト。FormsResult オブジェクトの getOutputContent メソッドによって、このオブジェクトが返されたことを確認してください。
    • generatePDFOutput メソッドは、操作の結果を含む OutputResult オブジェクトを返します。
    • OutputResult オブジェクトの getGeneratedDoc メソッドを呼び出して、非インタラクティブ PDF ドキュメントを取得します。このメソッドは、非インタラクティブ PDF ドキュメントを表す com.adobe.idp.Document インスタンスを返します。
  5. Document Management サービスを使用した、PDF フォームのコンテンツサービスへの保存(非推奨)

    コンテンツを追加するには、DocumentManagementServiceClientImpl オブジェクトの storeContent メソッドを呼び出して、次の値を渡します。

    • コンテンツの追加先となるストアを指定する文字列値です。デフォルトのストアは SpacesStore です。この値は必須パラメーターです。
    • コンテンツが追加されるスペースの完全修飾パスを指定する文字列値(例えば、/Company Home/Test Directory)。この値は必須パラメーターです。
    • 新しいコンテンツを表すノード名(例えば、MortgageForm.pdf)。この値は必須パラメーターです。
    • ノードタイプを指定する文字列値です。PDF ファイルなどの新しいコンテンツを追加するには、{https://www.alfresco.org/model/content/1.0}content を指定します。この値は必須パラメーターです。
    • コンテンツを表す com.adobe.idp.Document オブジェクト。この値は必須パラメーターです。
    • エンコーディング値を指定する文字列値(例えば、UTF-8)。この値は必須パラメーターです。
    • バージョン情報の処理方法を指定する UpdateVersionType 列挙値(例えば、コンテンツバージョンを増分するための UpdateVersionType.INCREMENT_MAJOR_VERSION。)この値は必須パラメーターです。
    • コンテンツに関連する側面を指定する java.util.List インスタンス。この値はオプションのパラメーターで、null を指定できます。
    • コンテンツ属性を格納する java.util.Map オブジェクト。

    storeContent メソッドは、コンテンツを説明する CRCResult オブジェクトを返します。CRCResult オブジェクトを使用すると、例えば、コンテンツの一意の識別子の値を取得できます。このタスクを実行するには、CRCResult オブジェクトの getNodeUuid メソッドを呼び出します。

recommendation-more-help