手順の概要

使用権限を PDF ドキュメントに適用するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Acrobat Reader DC エクステンションのクライアントオブジェクトを作成します。
  3. PDF ドキュメントを取得します。
  4. 適用する使用権限を指定します。
  5. 使用権限を PDF ドキュメントに適用します。
  6. 権限が付与された PDF ドキュメントを保存します。

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

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

Acrobat Reader DC エクステンションのクライアントオブジェクトを作成

プログラムによって Acrobat Reader DC エクステンションサービスの操作を実行するには、Acrobat Reader DC エクステンションサービスのクライアントオブジェクトを作成する必要があります。Acrobat Reader DC エクステンション Java API を使用している場合は、ReaderExtensionsServiceClient オブジェクトを作成します。Acrobat Reader DC エクステンション web サービス API を使用している場合は、ReaderExtensionsServiceService オブジェクトを作成します。

PDF ドキュメントを取得

使用権限を適用するには、PDF ドキュメントを取得します。権限が付与された PDF ドキュメントには、使用権限ディクショナリが含まれています。Adobe Reader がそのようなディクショナリを含むドキュメントを開くと、そのドキュメントに対してのみディクショナリで指定された使用権限が有効になります。ドキュメントに使用権限ディクショナリが含まれていない場合、Acrobat Reader DC エクステンションサービスは使用権限ディクショナリを作成します。既にディクショナリが含まれている場合、Acrobat Reader DC エクステンションサービスは、指定した使用権限で既存の使用権限を上書きします。ディクショナリは、有効にする使用権限を指定します。ユーザーが Adobe Reader でドキュメントを開くと、ディクショナリで指定されている使用権限のみが許可されます。

適用する使用権限を指定

設定できる使用権限は、Adobe Systems Inc で購入した資格情報によって決まります。通常、資格情報は、インタラクティブフォームに関連する使用権限など、関連する使用権限のグループを設定する権限が付与されます。各資格情報は、一定数の権限が付与された PDF ドキュメントを作成する権限を付与します。評価資格情報を使用すると、無制限の数のドラフトドキュメントを作成する権限が付与されます。

NOTE
資格情報で許可されていない使用権限を割り当てようとすると、例外が発生します。

PDF ドキュメントに使用権限を適用

PDF ドキュメントに使用権限を適用するには、使用権限の適用に使用している資格情報のエイリアスを参照します(通常、資格情報は AEM Forms のインストール時にインストールされます)。また、使用権限を適用する PDF ドキュメント を指定する必要があります。資格情報の設定に関する情報については、アプリケーションサーバーのインストールとデプロイのガイドを参照してください。

権限が付与された PDF ドキュメントを保存

Acrobat Reader DC エクステンションサービスが PDF ドキュメントに使用権限を適用したら、権限が付与された PDF ドキュメントを PDF ファイルとして保存できます。

関連トピック

Java API を使用して使用権限を適用

Web サービス API を使用して使用権限を適用

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

接続プロパティの設定

Acrobat Reader DC Extensions サービス API クイックスタート

Java API を使用して使用権限を適用

Acrobat Reader DC エクステンション API(Java)を使用して、PDF ドキュメントに使用権限を適用します。

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

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

  2. Acrobat Reader DC エクステンションのクライアントオブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して ReaderExtensionsServiceClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. PDF ドキュメントを取得します。

    • コンストラクターを使用し、PDF ドキュメントの場所を指定する文字列値を渡して、PDF ドキュメントを表す java.io.FileInputStream オブジェクトを作成します。
    • com.adobe.idp.Document オブジェクトを作成するには、コンストラクタを使用して、java.io.FileInputStream オブジェクトを渡します。
  4. 適用する使用権限を指定します。

    • コンストラクターを使用して、使用権限を表す UsageRights オブジェクトを作成します。
    • 適用する使用権限ごとに、UsageRights オブジェクトに属する対応するメソッドを呼び出します。例えば、enableFormFillIn 使用権限を追加するには、UsageRights オブジェクトの enableFormFillIn メソッドを呼び出して、true を渡します。(適用する各使用権限に対して、この手順を繰り返します)。
  5. 使用権限を PDF ドキュメントに適用します。

    • コンストラクタを使用して ReaderExtensionsOptionSpec オブジェクトを作成します。このオブジェクトには、Acrobat Reader DC エクステンションサービスで必要な実行時オプションが含まれています。このコンストラクターを呼び出す場合は、次の値を指定する必要があります。

      • ドキュメントに適用する使用権限を含む UsageRights オブジェクト。
      • Adobe Reader 7.x で権限が付与された PDF ドキュメントを開く際にユーザーに表示されるメッセージを指定する文字列値。このメッセージは、Adobe Reader 8.0 では表示されません。
    • 使用権限を PDF ドキュメントに適用するには、ReaderExtensionsServiceClient オブジェクトの applyUsageRights メソッドを呼び出して、次の値を渡してください。

      • 使用権限が適用される PDF ドキュメントを含む com.adobe.idp.Document オブジェクトです。
      • 使用権限を適用できる資格情報のエイリアスを指定する文字列値です。
      • 対応するパスワード値を指定する文字列値です。(現在、このパラメーターは無視されます。null を渡すことができます。)
    • 実行時オプションを含む ReaderExtensionsOptionSpec オブジェクトです。

    applyUsageRights メソッドは、権限が付与された PDF ドキュメントを含む com.adobe.idp.Document オブジェクト返します。

  6. 権限が付与された PDF ドキュメントを保存します。

    • java.io.File オブジェクトを作成し、ファイル拡張子が .pdf であることを確認します。
    • com.adobe.idp.Document オブジェクトの copyToFile メソッドを呼び出して、com.adobe.idp.Document オブジェクトのコンテンツをファイルにコピーします(applyUsageRights メソッドによって返された com.adobe.idp.Document オブジェクトを必ず使用してください)。

Web サービス API を使用して使用権限を適用

Acrobat Reader DC Extensions API(web サービス)を使用することにより、PDF ドキュメントに使用権限を適用してください。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/ReaderExtensionsService?WSDL&lc_version=9.0.1 を使用するようにします。

    NOTE
    localhost を AEM Forms をホストするサーバーの IP アドレスを置き換えます。
  2. Acrobat Reader DC エクステンションのクライアントオブジェクトを作成します。

    • デフォルトのコンストラクタを使用して ReaderExtensionsServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクタを使用して ReaderExtensionsServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を 指定する 文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/ReaderExtensionsService?blob=mtom。必ず ?blob=mtom を指定します)。

    • ReaderExtensionsServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding フィールドを WSMessageEncoding.Mtom に設定します。この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • ReaderExtensionsServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を ReaderExtensionsServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。
  3. PDF ドキュメントを取得します。

    • コンストラクタを使用して BLOB オブジェクトを作成します。BLOB オブジェクトは、使用権限が適用される PDF ドキュメントを保存するために使用されます。
    • コンストラクターを呼び出し、PDF ドキュメントのファイルの場所とファイルを開くモードを表す文字列値を渡して、System.IO.FileStream オブジェクトを作成します。
    • System.IO.FileStream オブジェクトのコンテンツを保存するバイト配列を作成します。 System.IO.FileStream オブジェクトの Length プロパティを取得することでバイト配列のサイズを決定することができます。
    • System.IO.FileStream オブジェクトの Read メソッドを呼び出して、バイト配列にストリームデータを入力します。読み取り対象のバイト配列、開始位置、ストリーム長を渡します。
    • MTOM プロパティにバイト配列のコンテンツを割り当てて、BLOB オブジェクトを入力します。
  4. 適用する使用権限を指定します。

    • コンストラクタを使用して、使用権限を表す UsageRights オブジェクトを作成します。
    • 適用する使用権限ごとに、UsageRights オブジェクトに属し、対応するデータメンバーに値 true を割り当てます。例えば、enableFormFillIn 使用権限を追加するには、trueUsageRights オブジェクトの enableFormFillIn データメンバーに割り当てます。(適用する各使用権限に対して、この手順を繰り返します)。
  5. 使用権限を PDF ドキュメントに適用します。

    • コンストラクタを使用して ReaderExtensionsOptionSpec オブジェクトを作成します。このオブジェクトには、Acrobat Reader DC Extensions サービスで必要な実行時オプションが含まれています。

    • UsageRights オブジェクトを ReaderExtensionsOptionSpec オブジェクトの usageRights データメンバーに割り当てます。

    • Adobe Reader で権限を付与された PDF ドキュメントを開く際に、ユーザーに表示されるメッセージを指定する文字列値を ReaderExtensionsOptionSpec オブジェクトの message データメンバーに割り当てます。

    • 使用権限を PDF ドキュメントに適用するには、ReaderExtensionsServiceClient オブジェクトの applyUsageRights メソッドを呼び出して、次の値を渡します。

      • 使用権限が適用される PDF ドキュメントを含む BLOB オブジェクトです。
      • 使用権限を適用できる資格情報のエイリアスを指定する文字列値です。
      • 対応するパスワード値を指定する文字列値です。(現在、このパラメーターは無視されます。null を渡すことができます。)
    • 実行時オプションを含む ReaderExtensionsOptionSpec オブジェクトです。

    applyUsageRights メソッドは、権限が付与された PDF ドキュメントを含む BLOB オブジェクト返します。

  6. 権限が付与された PDF ドキュメントを保存します。

    • コンストラクタを呼び出して System.IO.FileStream オブジェクトを作成します。権限が付与された PDF ドキュメントのファイルの場所を表す文字列値を渡します。
    • applyUsageRights メソッドが返した BLOB オブジェクトのデータコンテンツを格納するバイト配列を作成します。BLOB オブジェクトの MTOM データメンバーの値を取得して、バイト配列を生成します。
    • コンストラクターを使用して System.IO.BinaryWriter オブジェクトを渡すことによって、System.IO.FileStream オブジェクトを作成します。
    • System.IO.BinaryWriter オブジェクトの Write メソッドを呼び出して、バイト配列を渡すことによって、バイト配列の内容を PDF ファイルに書き込みます。

PDF ドキュメントから使用権限を削除

権限を付与されたドキュメントから使用権限を削除できます。使用権限が有効な PDF ドキュメントから使用権限を削除することは、そのドキュメントに対して他の AEM Forms 操作を実行するためにも必要です。例えば、PDF ドキュメントに対する電子署名(または認証)は、使用権限を設定する前に実行する必要があります。したがって、権限を付与されたドキュメントに対して操作を行う場合、その PDF ドキュメントから使用権限を削除し、ドキュメントへのデジタル署名など、その他の操作を行った後にドキュメントに対して使用権限を再び適用してください。

NOTE
Acrobat Reader DC Extensions サービスに関する詳細は、AEM Forms サービスリファレンスを参照してください。

手順の概要

権限を付与された PDF ドキュメントから使用権限を削除するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Acrobat Reader DC エクステンションのクライアントオブジェクトを作成します。
  3. 権限付き PDF ドキュメントを取得します。
  4. 使用権限を PDF ドキュメントから削除します。
  5. PDF ドキュメントを保存します。

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

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

Acrobat Reader DC Extensions のクライアントオブジェクトを作成

Acrobat Reader DC エクステンションサービスの操作をプログラムで実行する前に、Acrobat Reader DC エクステンションサービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、ReaderExtensionsServiceClient オブジェクトを作成してください。Acrobat Reader DC Extensions web サービス API を使用している場合は、ReaderExtensionsServiceService オブジェクトを作成してください。

権限が付与された PDF ドキュメントを取得

使用権限を削除するために、権限を付与された PDF ドキュメントを取得します。

使用権限を PDF ドキュメントから削除

権限を付与された PDF ドキュメントを取得したら、使用権限を削除できます。使用権限を削除すると、PDF ドキュメントを Adobe Reader 内で表示する間、機能は追加されません。

PDF ドキュメントを保存

使用権限を含まない PDF ドキュメントは、PDF ファイルとして保存できます。PDF ドキュメントを PDF ファイルとして保存すると、Adobe Reader または Acrobat で表示できます。

関連トピック

Java API を使用して使用権限を削除する

Web サービス API を使用して使用権限を削除する

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

接続プロパティの設定

Acrobat Reader DC Extensions サービス API クイックスタート

PDF ドキュメントへの使用権限を適用

Java API を使用して使用権限を削除する

Acrobat Reader DC Extensions API(Java)を使用して、権限を付与された PDF ドキュメントから使用権限を削除します。

  1. プロジェクトファイルを含めます。

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

  2. Acrobat Reader DC エクステンションのクライアントオブジェクトを作成します。

    ReaderExtensionsServiceClient オブジェクトを作成するには、それ自身のコンストラクタを使用し、接続プロパティを含む ServiceClientFactory オブジェクトを渡します。

  3. PDF ドキュメントを取得します。

    • java.io.FileInputStream オブジェクト(権限を付与された PDF ドキュメントを表す)を作成するには、それ自身のコンストラクタを使用し、PDFドキュメントの場所を指定する文字列値を渡します。
    • com.adobe.idp.Document オブジェクトを作成するには、それ自身のコンストラクタを使用し、java.io.FileInputStream オブジェクトを渡します。
  4. 使用権限を PDF ドキュメントから削除します。

    ReaderExtensionsServiceClient オブジェクトの removeUsageRights メソッドを呼び出し、権限が付与された PDF ドキュメントを含む com.adobe.idp.Document オブジェクトを渡すことによって、使用権限を PDF ドキュメントから削除します。このメソッドは、使用権限のない PDF ドキュメントを含む com.adobe.idp.Document オブジェクトを返します。

  5. 使用権限を PDF ドキュメントに適用します。

    • java.io.File オブジェクトを作成し、ファイル拡張子が .pdf であることを確認します。
    • Document オブジェクトの copyToFile メソッドを呼び出して、 Document オブジェクトのコンテンツをファイルにコピーします。この際に必ず、removeUsageRights メソッドが返した Document オブジェクトを使ってください。

Web サービス API を使用して使用権限を削除する

Acrobat Reader DC Extensions API(Web サービス)を使用して、権限を付与された PDF ドキュメントから使用権限を削除します。

  1. プロジェクトファイルを含めます。

    MTOM を使用する Microsoft .NET プロジェクトを作成します。WSDL 定義 http://localhost:8080/soap/services/ReaderExtensionsService?WSDL&lc_version=9.0.1 を使用するようにします。

    NOTE
    localhost を AEM Forms をホストするサーバーの IP アドレスを置き換えます。
  2. Acrobat Reader DC エクステンションのクライアントオブジェクトを作成します。

    • デフォルトのコンストラクタを使用して ReaderExtensionsServiceClient オブジェクトを作成します。

    • System.ServiceModel.EndpointAddress コンストラクタを使用して ReaderExtensionsServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を 指定する 文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/ReaderExtensionsService?blob=mtom。必ず ?blob=mtom を指定します)。

    • ReaderExtensionsServiceClient.Endpoint.Binding フィールドの値を取得して、System.ServiceModel.BasicHttpBinding オブジェクトを作成します。戻り値を BasicHttpBinding にキャストします。

    • System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding フィールドを WSMessageEncoding.Mtom に設定します。この値により、MTOM が確実に使用されます。

    • 次のタスクを実行して、HTTP 基本認証を有効にします。

      • ReaderExtensionsServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を ReaderExtensionsServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
      • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。
  3. PDF ドキュメントを取得します。

    • コンストラクタを使用して BLOB オブジェクトを作成します。BLOB オブジェクトは、使用権限が削除された権限付き PDF ドキュメントを保存するために使用されます。
    • System.IO.FileStream オブジェクトを作成するには、コンストラクターを呼び出し、PDF ドキュメントのファイルの場所を表す文字列値とファイルを開くモードを渡します。
    • System.IO.FileStream オブジェクトのコンテンツを保存するバイト配列を作成します。 System.IO.FileStream オブジェクトの Length プロパティを取得することで、バイト配列のサイズを決定できます。
    • バイト配列にストリームデータを入力するには、System.IO.FileStream オブジェクトの Read メソッドを呼び出し、バイト配列、開始位置、読み取るストリーム長を渡します。
    • MTOM プロパティにバイト配列の内容を割り当てることで、BLOB オブジェクトにデータを入力します。
  4. 使用権限を PDF ドキュメントから削除します。

    ReaderExtensionsServiceClient オブジェクトの removeUsageRights メソッドを呼び出し、権限が付与された PDF ドキュメントを含む BLOB オブジェクトを渡すことによって、使用権限を PDF ドキュメントから削除します。このメソッドは、使用権限のない PDF ドキュメントを含む BLOB オブジェクトを返します。

  5. 使用権限を PDF ドキュメントに適用します。

    • System.IO.FileStream オブジェクトを作成するには、コンストラクタを呼び出し、PDF ファイルの場所を表す文字列値を渡します。
    • removeUsageRights メソッドで返された BLOB オブジェクトのデータコンテンツを格納するバイト配列を作成します。BLOB オブジェクトの MTOM データメンバーの値を取得して、バイト配列を生成します。
    • System.IO.BinaryWriter オブジェクトを作成するには、コンストラクタを呼び出して、System.IO.FileStream オブジェクトを渡します。