クライアントでのFormsのレンダリング

クライアントでのFormsのレンダリング

AcrobatまたはAdobe Readerのクライアント側レンダリング機能を使用すると、PDFコンテンツの配信を最適化し、Formsサービスがネットワーク読み込みを処理する機能を向上できます。 このプロセスは、クライアントでのフォームのレンダリングと呼ばれます。 クライアントでフォームをレンダリングするには、クライアントデバイス(通常は Web ブラウザー)でAcrobat 7.0 またはAdobe Reader 7.0 以降を使用する必要があります。

サーバーサイドスクリプトの実行によって生成されたフォームへの変更は、ルートサブフォームに restoreState 属性 auto. この属性について詳しくは、 Forms Designer

メモ

Formsサービスについて詳しくは、 AEM Formsのサービスリファレンス.

手順の概要

クライアントでフォームをレンダリングするには、次のタスクを実行します。

  1. プロジェクトファイルを含めます。
  2. Forms Client API オブジェクトを作成します。
  3. クライアントレンダリングの実行時オプションを設定します。
  4. クライアントでフォームをレンダリングします。
  5. フォームをクライアントの Web ブラウザーに書き込みます。

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

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

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

Forms Service Client API 操作をプログラムで実行する前に、Formsサービスクライアントを作成する必要があります。 Java API を使用している場合は、 FormsServiceClient オブジェクト。 Forms Web サービス API を使用している場合は、 FormsService オブジェクト。

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

クライアントでフォームをレンダリングする場合は、クライアントでフォームをレンダリングするために、クライアントレンダリングの実行時オプションを設定する必要があります。その際には、 RenderAtClient 実行時のオプション true. その結果、フォームはレンダリング先のクライアントデバイスに配信されます。 If RenderAtClientauto (デフォルト値)を指定した場合、フォームデザインは、フォームをクライアントでレンダリングするかどうかを決定します。 フォームデザインは、編集可能なレイアウトを含むフォームデザインにする必要があります。

オプションで設定できるランタイムオプションは、 SeedPDF オプション。 この SeedPDF 「 」オプションは、PDFコンテナ ( シードPDFドキュメント ) とフォームデザインと XML データを組み合わせたものです。 フォームデザインと XML データの両方がAcrobatまたはAdobe Readerに配信され、フォームがレンダリングされます。 この SeedPDF オプションは、クライアントコンピューターにフォーム内で使用されるフォントがない場合に使用できます。例えば、エンドユーザーがフォーム所有者が使用するライセンスを持つフォントを使用するライセンスを持っていない場合などです。

Designer を使用して、シードPDFファイルとして使用するシンプルなダイナミックPDFファイルを作成できます。 このタスクを実行するには、次の手順が必要です。

  1. フォントをシードフォントファイル内に埋め込む必要があるかどうかをPDFします。 シードPDFファイルには、レンダリングされるフォームに必要な追加のフォントが含まれている必要があります。 フォントをシードPDFファイルに埋め込む場合は、フォント使用許諾契約に違反しないようにしてください。 Designer では、フォントを法的に埋め込むことができるかどうかを指定できます。 保存すると、フォームに埋め込むことができないフォントがある場合、Designer は埋め込むことができないフォントの一覧を示すメッセージを表示します。 このメッセージは、静的メッセージドキュメントの場合は Designer にPDFされません。
  2. Designer でシードPDFファイルを作成する場合は、少なくともメッセージを含むテキストフィールドを追加することをお勧めします。 このメッセージは、Adobe Readerの以前のバージョンのユーザーに対し、ドキュメントの表示にAcrobat 7.0 以降またはAdobe Reader 7.0 以降が必要であると述べている必要があります。
  3. シードPDFファイルを動的PDFファイルとして保存し、PDFファイル名の拡張子を付けます。
メモ

クライアント上でフォームをレンダリングする場合、シードPDFの実行時オプションを定義する必要はありません。 シードPDFを指定しない場合、Formsサービスはシェル pdf を作成します。この pdf は、COS オブジェクトは含まれず、実際の XDP コンテンツが埋め込まれたPDFラッパーを含みます。 この節の手順では、シードPDFの実行時オプションは設定しません。 COS オブジェクトの詳細については、『 Adobe PDF Reference 』ガイドを参照してください。

クライアントでフォームをレンダリング

クライアントでフォームをレンダリングするには、フォームをレンダリングするクライアントレンダリングの実行時オプションがアプリケーションロジックに含まれていることを確認する必要があります。

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

Formsサービスはフォームデータストリームを作成します。このデータストリームは、クライアントの Web ブラウザーに書き込む必要があります。 クライアント Web ブラウザーに書き込まれると、フォームはAcrobat 7.0 またはAdobe Reader 7.0 以降でレンダリングされ、ユーザーに対して表示されます。

関連トピック

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

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

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

接続プロパティの設定

Forms Service API クイックスタート

Forms Service にドキュメントを渡す

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

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

Forms API(Java) を使用して、クライアントでフォームをレンダリングします。

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

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

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

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

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

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

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

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

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

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

関連トピック

クイックスタート(SOAP モード):Java API を使用してクライアントでフォームをレンダリングする

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

接続プロパティの設定

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 メソッドを使用して、次の値を渡します。

    • ファイル名拡張子を含むフォームデザイン名を指定する string 値。 Formsアプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定してください。 Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • A BLOB フォームに結合するデータを含むオブジェクト。 データを結合しない場合は、 null. ( 編集可能なレイアウトを使用したFormsの事前入力.)
    • A PDFFormRenderSpec クライアントでフォームをレンダリングするために必要な実行時のオプションを格納するオブジェクト。
    • A URLSpec Formsサービスで必要な URI 値を格納するオブジェクト。
    • A 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 ブラウザーに書き込む

    • の作成 FormResult オブジェクトを作成するには、 com.adobe.idp.services.holders.FormsResultHolder オブジェクトの value データメンバー。
    • の作成 BLOB を呼び出してフォームデータを含むオブジェクト FormsResult オブジェクトの getOutputContent メソッド。
    • のコンテンツタイプを取得する BLOB オブジェクトを呼び出す getContentType メソッド。
    • javax.servlet.http.HttpServletResponse を呼び出すことによるオブジェクトのコンテンツタイプ setContentType メソッドを使用して、 BLOB オブジェクト。
    • の作成 javax.servlet.ServletOutputStream オブジェクトを使用します。オブジェクトは、 javax.servlet.http.HttpServletResponse オブジェクトの getOutputStream メソッド。
    • バイト配列を作成し、 BLOB オブジェクトの getBinaryData メソッド。 このタスクは、 FormsResult オブジェクトをバイト配列に変換します。
    • を呼び出す javax.servlet.http.HttpServletResponse オブジェクトの write メソッドを使用して、フォームデータストリームをクライアント Web ブラウザーに送信します。 バイト配列を write メソッド。

関連トピック

クライアントでのFormsのレンダリング

Base64 エンコーディングを使用したAEM Formsの呼び出し

このページ