Java API を使用したクライアントでのフォームのレンダリング
Forms API (Java) を使用して、クライアントでフォームをレンダリングするには、以下の手順に従います。
-
プロジェクトファイルを含める
adobe-forms-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
-
Forms Client API オブジェクトの作成
- 接続プロパティを含む
ServiceClientFactory
オブジェクトを作成します。 - コンストラクターを使用して
ServiceClientFactory
オブジェクトを渡し、FormsServiceClient
オブジェクトを作成します。
- 接続プロパティを含む
-
クライアントレンダリング実行時オプションを設定する
- コンストラクタを使用して
PDFFormRenderSpec
オブジェクトを作成します。 RenderAtClient
実行時オプションを設定するには、PDFFormRenderSpec
オブジェクトのsetRenderAtClient
メソッドを呼び出し、列挙値RenderAtClient.Yes
を渡します。
- コンストラクタを使用して
-
クライアントでフォームをレンダリングする
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
オブジェクトを返します。 - フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。AEM Forms アプリケーションの一部であるフォームデザインを参照する場合は、
-
フォームデータストリームをクライアント 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サービス)を使用して、クライアントでフォームをレンダリングするには:
-
プロジェクトファイルを含める
- Forms Service WSDL を使用する Java プロキシクラスを作成します。
- Java プロキシクラスをクラスパスに含めます。
-
Forms Client API オブジェクトの作成
FormsService
オブジェクトを作成して、認証値を設定します。 -
クライアントレンダリング実行時オプションを設定する
- コンストラクタを使用して
PDFFormRenderSpec
オブジェクトを作成します。 RenderAtClient
実行時オプションを設定するには、PDFFormRenderSpec
オブジェクトのsetRenderAtClient
メソッドを呼び出し、文字列値RenderAtClient.Yes
を渡します。
- コンストラクタを使用して
-
クライアントでフォームをレンダリングする
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 ブラウザーに書き込む必要のあるフォームデータストリームを入力します。 - フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。Forms アプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定してください。
-
フォームデータストリームをクライアント 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
メソッドに渡します。