権限付きフォームのレンダリング rendering-rights-enabled-forms
Forms サービスでは、使用権限が適用されているフォームをレンダリングできます。使用権限は、Acrobat ではデフォルトで利用できるが Adobe Reader では利用できない機能(フォームにコメントを追加する機能や、フォームフィールドにデータを入力してフォームを保存する機能など)に関連しています。使用権限が適用されたフォームは、権限付きフォームと呼ばれます。ユーザーは、権限付きフォームを Adobe Reader で開くことで、そのフォームで有効になっている操作を実行できます。
使用権限をフォームに適用するには、Acrobat Reader DC Extensions サービスが AEM forms のインストール環境に含まれている必要があります。また、使用権限を PDF ドキュメントに適用できる有効な資格情報が必要です。つまり、権限付きフォームをレンダリングするには、Acrobat Reader DC Extensions サービスを適切に設定する必要があります。(Acrobat Reader DC Extensions サービスについてを参照してください)。
enableComments
、enableCommentsOnline
、enableEmbeddedFiles
または enableDigitalSignatures
の使用権限を指定する場合、フォームに XML データを事前入力することはできません。(編集可能なレイアウトを使用した Forms の事前入力を参照してください)。手順の概要 summary-of-steps
権限付きフォームをレンダリングするには、次のタスクを実行します。
- プロジェクトファイルを含めます。
- Forms Client API オブジェクトを作成します。
- 使用権限の実行時オプションを設定します。
- 権限付きフォームをレンダリングします。
- 権限付きフォームをクライアント web ブラウザーに書き込みます。
プロジェクトファイルを含める
必要なファイルを開発プロジェクトに含めます。Java を使用してクライアントアプリケーションを作成する場合は、必要な JAR ファイルを含めます。Web サービスを使用している場合は、プロキシファイルを必ず含めてください。
Forms Client API オブジェクトの作成
Forms サービス Client API 操作をプログラムで実行には、事前に Forms サービスクライアントを作成しておく必要があります。
使用権限の実行時オプションの設定
権限付きフォームをレンダリングするには、使用権限の実行時オプションを設定する必要があります。また、使用権限をフォームに適用するために使用する資格情報のエイリアスも指定する必要があります。エイリアス値を指定したら、フォームに適用する各使用権限を指定します。
権限付きフォームのレンダリング
権限付きフォームをレンダリングするには、使用権限のないフォームをレンダリングする場合と同じアプリケーションロジックを使用します。唯一の違いは、使用権限の実行時オプションがアプリケーションロジックに含まれていることを確認する必要がある点です。
フォームデータストリームをクライアント web ブラウザーに書き込む
Forms サービスが権限付きフォームをレンダリングすると、クライアント web ブラウザーに書き込む必要があるフォームデータストリームが返されます。クライアント web ブラウザーに書き込まれると、ユーザーはフォームを表示できます。Adobe Reader で権限付きフォームを表示しているユーザーは、そのフォームで有効になっている操作を実行できます。
関連トピック
Java API を使用して権限付きフォームをレンダリングする
Web サービス API を利用したライツ対応フォームのレンダリング
Forms をレンダリングする web アプリケーションの作成
Java API を使用して権限付きフォームをレンダリングする render-rights-enabled-forms-using-the-java-api
Forms API(Java)を使用して、権限付きフォームをレンダリングします。
-
プロジェクトファイルを含める
adobe-forms-client.jar などのクライアント JAR ファイルを Java プロジェクトのクラスパスに含めます。
-
Forms Client API オブジェクトの作成
- 接続プロパティを含む
ServiceClientFactory
オブジェクトを作成します。 - コンストラクタを使用し、
ServiceClientFactory
オブジェクトを渡すことによって、FormsServiceClient
オブジェクトを作成します。
- 接続プロパティを含む
-
使用権限の実行時オプションを設定する
- コンストラクタを使用して
ReaderExtensionSpec
オブジェクトを作成します。 ReaderExtensionSpec
オブジェクトのsetReCredentialAlias
メソッドを呼び出し、エイリアス値を表す文字列値を指定することによって、資格情報のエイリアスを指定します。ReaderExtensionSpec
オブジェクトに属する対応するメソッドを呼び出して、各使用権限を設定します。ただし、使用権限を設定できるのは、参照する秘密鍵証明書でその権限が与えられている場合のみです。つまり、秘密鍵証明書で設定が許可されていない場合は、使用権限を設定できません。以下に例を示します。で、ユーザーがフォームのフィールドに入力して保存できる使用権を設定するには、ReaderExtensionSpec
オブジェクトのsetReFillIn
メソッドを呼び出し、true
を渡します。
note note NOTE を呼び出す必要はありません。 ReaderExtensionSpec
オブジェクトのsetReCredentialPassword
メソッド。 このメソッドは、Formsサービスでは使用されません。 - コンストラクタを使用して
-
権限設定されたフォームをレンダリングする
FormsServiceClient
オブジェクトのrenderPDFFormWithUsageRights
メソッドを呼び出して、次の値を渡します。- フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。Forms アプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定してください。
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
- フォームに結合するデータを含む
com.adobe.idp.Document
オブジェクト。データを結合しない場合は、空のcom.adobe.idp.Document
オブジェクトを渡します。 - ランタイムオプションを格納する
PDFFormRenderSpec
オブジェクトです。 - 使用権限の実行時オプションを格納する
ReaderExtensionSpec
オブジェクトです。 - Forms サービスで必要な URI 値を格納する
URLSpec
オブジェクトです。
renderPDFFormWithUsageRights
メソッドは、クライアントの web ブラウザーに書き込まれなければならないフォームデータストリームを含むFormsResult
オブジェクトを返します。 - フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。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
メソッドに渡します。
関連トピック
クイックスタート(SOAP モード):Java API を使用した権限が有効なフォームのレンダリング
Web サービス API を利用したライツ対応フォームのレンダリング render-rights-enabled-forms-using-the-web-service-api
Forms API(web サービス)を使用して、権限が有効なフォームをレンダリングします。
-
プロジェクトファイルを含める
- Forms Service WSDL を使用する Java プロキシクラスを作成します。
- Java プロキシクラスをクラスパスに含めます。
-
Forms Client API オブジェクトの作成
FormsService
オブジェクトを作成し、認証値を設定します。 -
使用権限の実行時オプションを設定する
- コンストラクタを使用して
ReaderExtensionSpec
オブジェクトを作成します。 ReaderExtensionSpec
オブジェクトのsetReCredentialAlias
メソッドを呼び出し、エイリアス値を表す文字列値を指定することによって、資格情報のエイリアスを指定します。ReaderExtensionSpec
オブジェクトに属する対応するメソッドを呼び出して、各使用権限を設定します。ただし、使用権限を設定できるのは、参照する秘密鍵証明書でその権限が与えられている場合のみです。つまり、秘密鍵証明書で設定が許可されていない場合は、使用権限を設定できません。ユーザーがフォームフィールドに入力し、フォームを保存できる使用権を設定するには、ReaderExtensionSpec
オブジェクトのsetReFillIn
メソッドを呼び出し、true
を渡します。
- コンストラクタを使用して
-
権限設定されたフォームをレンダリングする
FormsService
オブジェクトのrenderPDFFormWithUsageRights
メソッドを呼び出して、次の値を渡します。- フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。Forms アプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定してください。
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
- フォームで結合するデータを格納する
BLOB
オブジェクト。フォームでデータを結合しない場合は、空の XML データソースを基にしたBLOB
オブジェクトを渡す必要があります。null のBLOB
オブジェクトを渡すことはできません。このようなオブジェクトを渡すと例外が発生します。 - ランタイムオプションを格納する
PDFFormRenderSpec
オブジェクト。 - 使用権限の実行時オプションを格納する
ReaderExtensionSpec
オブジェクトです。 - Forms サービスで必要な URI 値を格納する
URLSpec
オブジェクトです。
renderPDFFormWithUsageRights
メソッドは、クライアントの web ブラウザーに書き込まれなければならないフォームデータストリームを含むFormsResult
オブジェクトを返します。 - フォームデザイン名を指定する文字列値で、ファイル名の拡張子も含まれます。Forms アプリケーションの一部であるフォームデザインを参照する場合は、必ず次のような完全なパスを指定してください。
-
フォームデータストリームをクライアント web ブラウザーに書き込む
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
メソッドに渡します。
関連トピック
Base64 エンコーディングを使用した AEM Forms の呼び出し