権限付きフォームのレンダリング 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 の呼び出し