Java API を使用したクライアントでのフォームのレンダリング

Forms API (Java) を使用して、クライアントでフォームをレンダリングするには、以下の手順に従います。

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

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

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

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクターを使用して ServiceClientFactory オブジェクトを渡し、FormsServiceClient オブジェクトを作成します。
  3. クライアントレンダリング実行時オプションを設定する

    • コンストラクタを使用して PDFFormRenderSpec オブジェクトを作成します。
    • RenderAtClient 実行時オプションを設定するには、PDFFormRenderSpec オブジェクトの setRenderAtClient メソッドを呼び出し、列挙値 RenderAtClient.Yes を渡します。
  4. クライアントでフォームをレンダリングする

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

    • フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。AEM Forms アプリケーションの一部であるフォームデザインを参照する場合は、Applications/FormsApplication/1.0/FormsFolder/Loan.xdp のように完全なパスを指定します。
    • フォームと統合するデータを含む com.adobe.idp.Document オブジェクトです。データを統合しない場合、空の com.adobe.idp.Document オブジェクトを渡します。
    • クライアントでフォームをレンダリングするために必要な実行時オプションを格納する PDFFormRenderSpec オブジェクトです。
    • フォームを表示するために Forms サービスが必要とする URI の値を含む URLSpec オブジェクトです。
    • 添付ファイルを保存する java.util.HashMap オブジェクトです。オプションのパラメーターです。フォームにファイルを添付しない場合は null を指定できます。

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

  5. フォームデータストリームをクライアント web ブラウザーに書き込む

    • 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 メソッドに渡します。

Web サービス API を使用したクライアントでのフォームのレンダリング

Forms API(Webサービス)を使用して、クライアントでフォームをレンダリングするには:

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

    • Forms Service WSDL を使用する Java プロキシクラスを作成します。
    • Java プロキシクラスをクラスパスに含めます。
  2. Forms Client API オブジェクトの作成

    FormsService オブジェクトを作成して、認証値を設定します。

  3. クライアントレンダリング実行時オプションを設定する

    • コンストラクタを使用して PDFFormRenderSpec オブジェクトを作成します。
    • RenderAtClient 実行時オプションを設定するには、PDFFormRenderSpec オブジェクトの setRenderAtClient メソッドを呼び出し、文字列値 RenderAtClient.Yes を渡します。
  4. クライアントでフォームをレンダリングする

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

    • フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。Forms アプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定してください。Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
    • フォームと結合するデータを含む BLOB オブジェクトです。データを結合しない場合は、null を渡します。(流動レイアウトによるフォームの事前入力を参照してください)。
    • クライアントでフォームのレンダリングに必要な実行時オプションを格納する PDFFormRenderSpec オブジェクトです。
    • Forms サービスで必要とされる URI 値を含む URLSpec オブジェクトです。
    • 添付ファイルを保存する java.util.HashMap オブジェクト。これはオプションのパラメーターで、 フォームにファイルを添付しない場合に、nullを指定します。
    • メソッドによって入力される空の com.adobe.idp.services.holders.BLOBHolder オブジェクトです。このパラメーターは、レンダリングされた PDF フォームを格納するために使用されます。
    • メソッドによって入力される空の javax.xml.rpc.holders.LongHolder オブジェクトです。(この引数は、フォームのページ数を保存します)。
    • メソッドによって設定される空の javax.xml.rpc.holders.StringHolder オブジェクト。(この引数はロケール値を格納します)。
    • この操作の結果を格納する空の com.adobe.idp.services.holders.FormsResultHolder オブジェクト。

    renderPDFForm メソッドは、最後の引数値として渡される com.adobe.idp.services.holders.FormsResultHolder オブジェクトに、クライアント web ブラウザーに書き込む必要のあるフォームデータストリームを入力します。

  5. フォームデータストリームをクライアント web ブラウザーに書き込む

    • com.adobe.idp.services.holders.FormsResultHolder オブジェクトの value データメンバーの値を取得して、FormResult オブジェクトを作成します。
    • FormsResult オブジェクトの getOutputContent メソッドを呼び出して、フォームデータを含む BLOB オブジェクトを作成します。
    • getContentType メソッドを呼び出して、BLOB オブジェクトのコンテンツタイプを取得します。
    • javax.servlet.http.HttpServletResponse オブジェクトのコンテンツタイプを設定するには、setContentType メソッドを呼び出して、BLOB オブジェクトのコンテンツタイプを渡します。
    • javax.servlet.http.HttpServletResponse オブジェクトの getOutputStream メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに書き込むために使用される javax.servlet.ServletOutputStream オブジェクトを作成します。
    • バイト配列を作成し、BLOB オブジェクトの getBinaryData メソッドを呼び出して入力します。このタスクは、FormsResult オブジェクトのコンテンツをバイト配列に割り当てます。
    • javax.servlet.http.HttpServletResponse オブジェクトの write メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに送信します。バイト配列を write メソッドに渡します。
recommendation-more-help