手順の概要

カスタムツールバーを含む HTML フォームをレンダリングするには、次のタスクを実行します。

  1. プロジェクトファイルを含めます。
  2. Forms Java API オブジェクトを作成します。
  3. カスタム fscmenu XML ファイルを参照します。
  4. HTML フォームをレンダリングします。
  5. フォームデータストリームをクライアントの Web ブラウザーに書き込みます。

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

必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを含めます。

Forms Java API オブジェクトの作成

Forms サービスがサポートする操作をプログラムで実行する前に、Forms クライアントオブジェクトを作成する必要があります。

カスタム fscmenu XML ファイルの参照

カスタムツールバーを含む HTML フォームをレンダリングするには、ツールバーを記述する fscmenu XML ファイルを参照します(この節では、fscmenu XML ファイルの 2 つの例を示します)。また、fscmenu.xml ファイルで、参照されるすべてのファイルの場所が正しく指定されていることを確認します。この節で前述したように、すべてのファイルが FSToolBarURI キーワードまたはそれらの絶対位置のいずれかによって参照されていることを確認してください。

HTMLフォームのレンダリング

HTML フォームをレンダリングするには、Designer で作成され XDP ファイルとして保存されたフォームデザインを指定します。また、変換タイプとして HTML を選択します。たとえば、Internet Explorer 5.0 以降のダイナミック HTML をレンダリングする HTML 変換タイプを指定できます。

また、HTML フォームのレンダリングには、他のフォームタイプをレンダリングするための URI 値などの値も必要です。

クライアント web ブラウザーへのフォームデータストリームの書き込み

Forms サービスが HTML フォームをレンダリングすると、フォームデータストリームが返されます。このデータストリームは、HTML フォームをユーザーに表示するためにクライアントの web ブラウザーに書き込む必要があります。

関連トピック

Java API を使用してカスタムツールバーを含む HTML フォームをレンダリングする

Web サービス API を使用してカスタムツールバーを含む HTML フォームをレンダリングする

AEM Forms Java ライブラリファイルを含める

接続プロパティの設定

Forms サービス API のクイックスタート

インタラクティブ PDF Forms のレンダリング

Forms を HTML としてレンダリング

Forms をレンダリングする web アプリケーションの作成

Java API を使用してカスタムツールバーを含む HTML フォームをレンダリングする

Forms Service API(Java)を使用して、カスタムツールバーを含む HTML フォームをレンダリングします。

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

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

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

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して FormsServiceClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. カスタム fscmenu XML ファイルの参照

    • コンストラクターを使用して HTMLRenderSpec オブジェクトを作成します。
    • ツールバーを使用して HTML フォームをレンダリングするには、HTMLRenderSpec オブジェクトの setHTMLToolbar メソッドを呼び出して、HTMLToolbar enum 値を渡します。例えば、縦の HTML ツールバーを表示するには、HTMLToolbar.Vertical を渡します。
    • HTMLRenderSpec オブジェクトの setToolbarURI メソッドを呼び出して XML ファイルの URI の場所を指定する文字列値を渡すことによって、fscmenuXML ファイルの場所を指定します。
    • 該当する場合は、HTMLRenderSpec オブジェクトの setLocale メソッドを呼び出してロケール値を指定する文字列値を渡すことによって、ロケール値を設定します。デフォルト値は英語です。
    NOTE
    この節に関連するクイックスタートでは、この値を fr_FRに設定します。
  4. HTML フォームのレンダリング

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

    • フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。Forms アプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定します。Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
    • HTML の環境設定タイプを指定する TransformTo enum 値。例えば、Internet Explorer 5.0 以降の動的 HTML と互換性のある HTML フォームをレンダリングするには、TransformTo.MSDHTML を指定します。
    • フォームに結合するデータを含む com.adobe.idp.Document オブジェクト。データを結合しない場合は、空の com.adobe.idp.Document オブジェクトを渡します。
    • HTML の実行時オプションが格納された HTMLRenderSpec オブジェクト。
    • HTTP_USER_AGENT ヘッダー値(例:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322))を指定する文字列値。
    • HTML フォームのレンダリングに必要な URI 値が格納された URLSpec オブジェクト。
    • 添付ファイルを格納する java.util.HashMap オブジェクト。これはオプションのパラメーターで、 フォームにファイルを添付しない場合は null を指定できます。

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

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

    • FormsResult オブジェクトの getOutputContent メソッドを呼び出して、com.adobe.idp.Document オブジェクトを作成します。
    • getContentType メソッドを呼び出して、com.adobe.idp.Document オブジェクトのコンテンツタイプを取得します。
    • setContentType メソッドを呼び出し、com.adobe.idp.Document オブジェクトのコンテンツタイプを渡すことで、javax.servlet.http.HttpServletResponse オブジェクトのコンテンツタイプを設定します。
    • 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 を使用してカスタムツールバーを含む HTML フォームをレンダリングする

Forms サービス API(web サービス)を使用して、カスタムツールバーを含んだ HTML フォームをレンダリングします。

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

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

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

  3. カスタム fscmenu XML ファイルの参照

    • コンストラクターを使用して HTMLRenderSpec オブジェクトを作成します。
    • ツールバーを使用して HTML フォームをレンダリングするには、HTMLRenderSpec オブジェクトの setHTMLToolbar メソッドを呼び出して、HTMLToolbar enum 値を渡します。例えば、縦の HTML ツールバーを表示するには、HTMLToolbar.Vertical を渡します。
    • HTMLRenderSpec オブジェクトの setToolbarURI メソッドを呼び出して XML ファイルの URI の場所を指定する文字列値を渡すことによって、fscmenuXML ファイルの場所を指定します。
    • 該当する場合は、HTMLRenderSpec オブジェクトの setLocale メソッドを呼び出してロケール値を指定する文字列値を渡すことによって、ロケール値を設定します。デフォルト値は英語です。
    NOTE
    この節に関連するクイックスタートでは、この値を fr_FRに設定します。
  4. HTML フォームのレンダリング

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

    • フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。Forms アプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定します。Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
    • HTML の環境設定タイプを指定する TransformTo enum 値。例えば、Internet Explorer 5.0 以降の動的 HTML と互換性のある HTML フォームをレンダリングするには、TransformTo.MSDHTML を指定します。
    • フォームと結合するデータを含んだ BLOB オブジェクト。データを結合しない場合は、 null を渡します。
    • HTML の実行時オプションが格納されている HTMLRenderSpec オブジェクト。
    • HTTP_USER_AGENT ヘッダー値を指定する文字列値(例:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322))。この値を設定しない場合は、空の文字列を渡します。
    • HTML フォームのレンダリングに必要な URI 値を格納する URLSpec オブジェクト。
    • 添付ファイルを格納する java.util.HashMap オブジェクト。このパラメーターはオプションで、フォームにファイルを添付しない場合は null を指定できます。
    • renderHTMLForm メソッドでデータが入力される空の com.adobe.idp.services.holders.BLOBHolder オブジェクト。このパラメーター値には、レンダリングされたフォームが格納されます。
    • renderHTMLForm メソッドで入力される空の com.adobe.idp.services.holders.BLOBHolder オブジェクト。このパラメーターには、出力 XML データが格納されます。
    • renderHTMLForm メソッドでデータが入力される空の javax.xml.rpc.holders.LongHolder オブジェクト。この引数には、フォームのページ数が格納されます。
    • renderHTMLForm メソッドでデータが入力される空の javax.xml.rpc.holders.StringHolder オブジェクト。この引数には、ロケール値が格納されます。
    • renderHTMLForm メソッドでデータが入力される空の javax.xml.rpc.holders.StringHolder オブジェクト。この引数には、使用する HTML レンダリング値が格納されます。
    • この操作の結果を格納する空の com.adobe.idp.services.holders.FormsResultHolder オブジェクト。

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

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

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

Experience Manager