手順の概要
フォームデータを計算するには、次のタスクを実行します。
- プロジェクトファイルを含めます。
- Forms Client API オブジェクトを作成します。
- 計算スクリプトを含むフォームを取得します。
- フォームデータストリームをクライアントの web ブラウザーに書き戻します。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを必ず含めてください。
Forms Client API オブジェクトの作成
Forms Service Client API 操作をプログラムで実行する前に、Forms サービスクライアントを作成する必要があります。Java API を使用している場合は、FormsServiceClient
オブジェクトを作成します。Forms web サービス API を使用している場合は、FormsServiceService
オブジェクトを作成します。
計算スクリプトを含むフォームの取得
Forms サービスのクライアント API を使用して、サーバー上で実行するように設定されたスクリプトを含むフォームを処理するアプリケーションロジックを作成します。このプロセスは、送信されたフォームの処理に似ています。(送信済みフォームの処理を参照。)
送信されたフォームに関連付けられた処理状態が 1
(Calculate)
であることを確認します。これは、Forms サービスがフォームデータに対して計算操作を実行しており、結果をユーザーに書き戻す必要があることを意味します。この場合、サーバー上で実行するように設定されたスクリプトが自動的に実行されます。
フォームデータストリームをクライアントの web ブラウザーに書き戻す
送信されたフォームに関連付けられている処理状態が 1
の場合は、結果をクライアント web ブラウザーに書き戻す必要があります。フォームが表示されると、計算された値が適切なフィールドに表示されます。
関連情報
AEM Forms Java ライブラリファイルを含める
Java API を使用してフォームデータを計算する
Web サービス API を使用してフォームデータを計算する
接続プロパティの設定
Forms Service API クイックスタート
インタラクティブ PDF Forms のレンダリング
Forms をレンダリングする Web アプリケーションの作成
Java API を使用してフォームデータを計算する
Forms API(Java)を使用してフォームデータを計算します。
-
プロジェクトファイルを含める
クライアント JAR ファイル(adobe-forms-client.jar など)を Java プロジェクトのクラスパスに含めます。
-
Forms Client API オブジェクトの作成
- 接続プロパティを含む
ServiceClientFactory
オブジェクトを作成します。 - コンストラクターを使用して
ServiceClientFactory
オブジェクトを渡すことにより、FormsServiceClient
オブジェクトを作成します。
- 接続プロパティを含む
-
計算スクリプトを含むフォームの取得
-
計算スクリプトを含むフォームデータを取得するには、コンストラクターを使用して、コンストラクター内から
javax.servlet.http.HttpServletResponse
オブジェクトのgetInputStream
メソッドを呼び出すことによって、com.adobe.idp.Document
オブジェクトを作成します。 -
FormsServiceClient
オブジェクトのprocessFormSubmission
メソッドを呼び出して、以下の値を渡します。- フォームデータを含む
com.adobe.idp.Document
オブジェクト。 - 関連するすべての HTTP ヘッダーを含む環境変数を指定する文字列値。
CONTENT_TYPE
環境変数に 1 つ以上の値を指定して、処理するコンテンツタイプを指定します。例えば、XML データと PDF データを処理するには、このパラメーターに文字列値「CONTENT_TYPE=application/xml&CONTENT_TYPE=application/pdf
」を指定します。 HTTP_USER_AGENT
ヘッダー値を指定する文字列値(例:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
)。- 実行時オプションを格納する
RenderOptionsSpec
オブジェクト。
processFormSubmission
メソッドは、フォーム送信の結果を含むFormsResult
オブジェクトを返します。 - フォームデータを含む
-
FormsResult
オブジェクトのgetAction
メソッドを呼び出すことによって、送信されたフォームに関連付けられている処理状態が1
であることを確認します。このメソッドが値1
を返した場合、計算は実行されており、データをクライアントの web ブラウザーに書き戻すことができます。
-
-
フォームデータストリームをクライアントの web ブラウザーに書き戻します。
- フォームデータストリームをクライアント web ブラウザーに送信するために使用される
javax.servlet.ServletOutputStream
オブジェクトを作成します。 FormsResult
オブジェクトのgetOutputContent
メソッドを呼び出すことにより、com.adobe.idp.Document
オブジェクトを作成します。com.adobe.idp.Document
オブジェクトのgetInputStream
メソッドを呼び出すことによって、java.io.InputStream
オブジェクトを作成します。InputStream
オブジェクトのread
メソッドを呼び出してバイト配列を引数として渡すことによって、バイト配列を作成してフォームデータストリームを入力します。javax.servlet.ServletOutputStream
オブジェクトのwrite
メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに送信します。バイト配列をwrite
メソッドに渡します。
- フォームデータストリームをクライアント web ブラウザーに送信するために使用される
Web サービス API を使用したフォームデータの計算
Forms API(web サービス)を使用してフォームデータを計算します。
-
プロジェクトファイルを含める
- Forms Service WSDL を使用する Java プロキシクラスを作成します。
- Java プロキシクラスをクラスパスに含めます。
-
Forms Client API オブジェクトの作成
FormsService
オブジェクトを作成して、認証情報を設定します。 -
計算スクリプトを含むフォームの取得
-
Java サーブレットにポストされたフォームデータを取得するには、コンストラクターを使用して
BLOB
オブジェクトを作成します。 -
javax.servlet.http.HttpServletResponse
オブジェクトのgetInputStream
メソッドを使用して、java.io.InputStream
オブジェクトを作成します。 -
コンストラクターを使用して
java.io.InputStream
オブジェクトの長さを渡すことによって、java.io.ByteArrayOutputStream
オブジェクトを作成します。 -
java.io.InputStream
オブジェクトの内容をjava.io.ByteArrayOutputStream
オブジェクトにコピーします。 -
java.io.ByteArrayOutputStream
オブジェクトのtoByteArray
メソッドを呼び出してバイト配列を作成します。 -
setBinaryData
メソッドを呼び出してバイト配列を引数として渡すことによって、BLOB
オブジェクトに入力します。 -
コンストラクターを使用して
RenderOptionsSpec
オブジェクトを作成します。RenderOptionsSpec
オブジェクトのsetLocale
メソッドを呼び出し、ロケール値を指定する文字列値を渡すことによって、ロケール値を設定します。 -
FormsServiceClient
オブジェクトのprocessFormSubmission
メソッドを呼び出して、以下の値を渡します。- フォームデータを格納する
BLOB
オブジェクト。 - 関連するすべての HTTP ヘッダーが含まれる環境変数を指定する文字列の値。例えば、次の文字列の値を指定できます。
HTTP_REFERER=referrer&HTTP_CONNECTION=keep-alive&CONTENT_TYPE=application/xml
HTTP_USER_AGENT
ヘッダーの値を指定する文字列の値。例えば、Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
などです。- 実行時オプションを保存する
RenderOptionsSpec
オブジェクト。その他の情報。 - このメソッドで入力される空の
BLOBHolder
オブジェクト。 - メソッドによって設定される空の
javax.xml.rpc.holders.StringHolder
オブジェクト。 - メソッドによって設定される空の
BLOBHolder
オブジェクト。 - メソッドによって設定される空の
BLOBHolder
オブジェクト。 - メソッドによって設定される空の
javax.xml.rpc.holders.ShortHolder
オブジェクト。 - メソッドによって設定される空の
MyArrayOf_xsd_anyTypeHolder
オブジェクト。このパラメーターは、フォームと共に送信される添付ファイルを保存するために使用されます。 - 送信したフォームを使用して、このメソッドで入力される空の
FormsResultHolder
オブジェクト。
processFormSubmission
メソッドで、フォーム送信の結果をFormsResultHolder
パラメーターに入力します。processFormSubmission
メソッドは、フォーム送信の結果を含むFormsResult
オブジェクトを返します。 - フォームデータを格納する
-
FormsResult
オブジェクトのgetAction
メソッドを呼び出すことによって、送信されたフォームに関連付けられている処理状態が1
であることを確認します。このメソッドが値1
を返した場合、計算は実行されており、データをクライアントの web ブラウザーに書き戻すことができます。
-
-
フォームデータストリームをクライアントの web ブラウザーに書き戻します。
- フォームデータストリームをクライアント web ブラウザーに送信するために使用される
javax.servlet.ServletOutputStream
オブジェクトを作成します。 FormsResult
オブジェクトのgetOutputContent
メソッドを呼び出して、フォームデータを含むBLOB
を作成します。- バイト配列を作成し、
BLOB
オブジェクトのgetBinaryData
メソッドを呼び出して設定します。このタスクは、FormsResult
オブジェクトのコンテンツをバイト配列に割り当てます。 javax.servlet.http.HttpServletResponse
オブジェクトのwrite
メソッドを呼び出して、フォームデータストリームをクライアント web ブラウザーに送信します。バイト配列をwrite
メソッドに渡します。
- フォームデータストリームをクライアント web ブラウザーに送信するために使用される