レンダリング権限が有効なForms

Formsサービスは、使用権限が適用されているフォームをレンダリングできます。 使用権限は、Acrobat ではデフォルトで利用できるが Adobe Reader では利用できない機能(フォームにコメントを追加する機能や、フォームフィールドにデータを入力してフォームを保存する機能など)に関連しています。使用権限が適用されているFormsは、権限が有効なフォームと呼ばれます。 Adobe Readerで権限が付与されたフォームを開いたユーザーは、そのフォームに対して有効な操作を実行できます。

使用権限をフォームに適用するには、 Acrobat Reader DC Extensions サービスがAEM forms インストールに含まれている必要があります。 また、使用権限をPDF・ドキュメントに適用できる有効な資格情報が必要です。 つまり、権限が有効なフォームをレンダリングする前に、Acrobat Reader DC Extensions サービスを適切に設定する必要があります。 ( Acrobat Reader DC Extensions Service について.)

メモ

使用権限を含むフォームをレンダリングするには、XDP ファイルを入力として使用し、PDFファイルを使用しないでください。 PDFファイルを入力として使用した場合、フォームは引き続きレンダリングされます。ただし、権限が有効なフォームにはなりません。

メモ

次の使用権限を指定する場合、XML データを使用してフォームに事前入力することはできません。 enableComments, enableCommentsOnline, enableEmbeddedFilesまたは enableDigitalSignatures. ( 編集可能なレイアウトを使用したFormsの事前入力.)

メモ

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

手順の概要

権限が有効なフォームをレンダリングするには、次のタスクを実行します。

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

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

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

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

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

使用権限の実行時オプションを設定する

使用権限を有効にしたフォームをレンダリングするには、使用権限の実行時オプションを設定する必要があります。 また、使用権限をフォームに適用するために使用する秘密鍵証明書のエイリアスも指定する必要があります。 エイリアス値を指定したら、フォームに適用する各使用権限を指定します。

権限が有効なフォームのレンダリング

権限が有効なフォームをレンダリングする場合は、使用権限のないフォームをレンダリングする場合と同じアプリケーションロジックを使用します。 唯一の違いは、使用権限のランタイムオプションがアプリケーションロジックに含まれていることを確認する必要がある点です。

メモ

Forms Web サービス API を使用して権限を付与されたフォームをレンダリングする場合、フォームにファイルを添付することはできません。

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

Formsサービスが権限を付与されたフォームをレンダリングすると、クライアントの Web ブラウザーに書き込む必要があるフォームデータストリームが返されます。 クライアントの Web ブラウザーに書き込まれると、フォームはユーザーに対して表示されます。 Adobe Readerで権限が付与されたフォームを表示しているユーザーは、そのフォームに対して有効な操作を実行できます。

関連トピック

Java API を使用した、権限が有効なフォームのレンダリング

Web サービス API を使用した、権限が有効なフォームのレンダリング

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

接続プロパティの設定

Forms Service API クイックスタート

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

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

Java API を使用した、権限が有効なフォームのレンダリング

Forms API(Java) を使用して、権限が有効なフォームをレンダリングします。

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

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

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

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

    • コンストラクタを使用して ReaderExtensionSpec オブジェクトを作成します。
    • を呼び出して、秘密鍵証明書のエイリアスを指定します。 ReaderExtensionSpec オブジェクトの setReCredentialAlias メソッドを使用してエイリアス値を表す string 値を指定します。
    • に属する対応するメソッドを呼び出して、各使用権限を設定します。 ReaderExtensionSpec オブジェクト。 ただし、使用権限を設定できるのは、参照する秘密鍵証明書でその権限が与えられている場合のみです。 つまり、秘密鍵証明書で設定が許可されていない場合は、使用権限を設定できません。 例: ユーザーがフォームフィールドに入力してフォームを保存できる使用権限を設定するには、 ReaderExtensionSpec オブジェクトの setReFillIn メソッドとパス true.
    メモ

    を呼び出す必要はありません。 ReaderExtensionSpec オブジェクトの setReCredentialPasswordメソッド。 このメソッドは、Formsサービスでは使用されません。

  4. 権限が有効なフォームのレンダリング

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

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

    この renderPDFFormWithUsageRights メソッドは、 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. 使用権限の実行時オプションを設定する

    • コンストラクタを使用して ReaderExtensionSpec オブジェクトを作成します。
    • を呼び出して、秘密鍵証明書のエイリアスを指定します。 ReaderExtensionSpec オブジェクトの setReCredentialAlias メソッドを使用してエイリアス値を表す string 値を指定します。
    • に属する対応するメソッドを呼び出して、各使用権限を設定します。 ReaderExtensionSpec オブジェクト。 ただし、使用権限を設定できるのは、参照する秘密鍵証明書でその権限が与えられている場合のみです。 つまり、秘密鍵証明書で設定が許可されていない場合は、使用権限を設定できません。 ユーザーがフォームフィールドに入力してフォームを保存できる使用権限を設定するには、 ReaderExtensionSpec オブジェクトの setReFillIn メソッドとパス true.
  4. 権限が有効なフォームのレンダリング

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

    • ファイル名拡張子を含むフォームデザイン名を指定する string 値。 Formsアプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定してください。 Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • A BLOB フォームに結合するデータを含むオブジェクト。 データをフォームと結合しない場合、 BLOB 空の XML データソースに基づくオブジェクト。 を渡すことはできません BLOB null のオブジェクト;それ以外の場合は、例外がスローされます。
    • A PDFFormRenderSpec 実行時オプションを保存するオブジェクト。
    • A ReaderExtensionSpec 使用権限の実行時オプションを格納するオブジェクト。
    • A URLSpec Formsサービスで必要な URI 値を格納するオブジェクト。

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

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

    • の作成 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の呼び出し

このページ