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

Forms サービスとコンテンツサービス(非推奨)API (Java) を使用して、コンテンツサービス(非推奨)から取得したドキュメントを渡します。

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

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

  2. Forms と Document Management Client API オブジェクトの作成

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

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

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

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

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

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

    • コンテンツサービス(非推奨)から取得したフォームデザインを含む com.adobe.idp.Document オブジェクトです。
    • フォームに結合するデータを含む com.adobe.idp.Document オブジェクトです。データを結合しない場合は、空の com.adobe.idp.Document オブジェクトを渡します。
    • 実行時オプションを保存する PDFFormRenderSpec オブジェクト。この値はオプションのパラメーターであり、実行時のオプションを指定しない場合は、null を指定できます。
    • URI 値を格納する URLSpec オブジェクト。この値はオプションのパラメーターであり、null を指定できます。
    • 添付ファイルを保存する java.util.HashMap オブジェクト。この値はオプションのパラメーターであり、フォームにファイルを添付しない場合は、null を指定できます。

    この renderPDFForm メソッドは、クライアントの web ブラウザーに書き込む必要があるフォームデータストリームを含む FormsResult オブジェクトを返します。

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

    • FormsResult オブジェクトの getOutputContent メソッドを呼び出して、com.adobe.idp.Document オブジェクトを作成します。
    • getContentType メソッドを呼び出して、com.adobe.idp.Document オブジェクトのコンテンツタイプを取得します。
    • javax.servlet.http.HttpServletResponse オブジェクトのコンテンツタイプを設定するには、setContentType メソッドを呼び出して、com.adobe.idp.Document オブジェクトのコンテンツタイプを渡します。
    • javax.servlet.http.HttpServletResponse オブジェクトの getOutputStream メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに書き込むために使用される javax.servlet.ServletOutputStream オブジェクトを作成します。
    • com.adobe.idp.Document オブジェクトの getInputStream メソッドを呼び出すことによって、java.io.InputStream オブジェクトを作成します。
    • バイト配列を作成し、InputStream オブジェクトの read メソッドを呼び出して、フォームデータストリームを入力します。バイト配列を引数として渡します。
    • javax.servlet.ServletOutputStream オブジェクトの write メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに送信します。バイト配列を write メソッドに渡します。