ポリシーを使用したドキュメントの保護 protecting-documents-with-policies

このドキュメントのサンプルと例は、JEE 環境の AEM Forms のみを対象としています。

Document Security サービスについて

Document Security サービスを使用すると、ユーザーは、ドキュメントの配布範囲にかかわらず、Adobe PDF ドキュメントに機密性の設定を動的に適用したり、ドキュメントを管理したりできます。

Document Security サービスは、ポリシーで保護されたPDFドキュメントを受信者がどのように使用するかをユーザーが管理できるようにすることで、ユーザーの手の届かない範囲で情報が広がるのを防ぎます。 ユーザーは、配布後に、ドキュメントを誰が開くことができるかを指定でき、ドキュメントの使用方法を制限でき、ドキュメントを監視できます。 また、ユーザーは、ポリシーで保護されたドキュメントへのアクセスを動的に制御することもでき、ドキュメントへのアクセスを動的に取り消すことさえできます。

また、Document Security サービスでは、Microsoft Word ファイル(DOC ファイル)などの他のファイルタイプも保護します。 Document Security Client API を使用して、これらのファイルタイプを操作できます。 次のバージョンがサポートされています。

  • Microsoft Office 2003 ファイル(DOC、XLS、PPT ファイル)
  • Microsoft Office 2007 ファイル(DOCX、XLSX、PPTX ファイル)
  • PTC Pro/E ファイル

次の 2 つの節で、Word ドキュメントの操作方法を説明します。

Document Security サービスを使用して、次のタスクを実行できます。

NOTE
Document Security サービスについて詳しくは、AEM Forms サービスリファレンスを参照してください。

ポリシーの作成 creating-policies

Document Security Java API または Web サービス API を使用して、プログラムでポリシーを作成できます。 ポリシー は、Document Security の設定、許可されたユーザー、使用権限などの情報を集めたものです。 様々な状況やユーザーに適したセキュリティ設定を使用して、任意の数のポリシーを作成および保存できます。

ポリシーを使用すると、次のタスクを実行できます。

  • ドキュメントを開くことができる個人の指定。 受信者は、組織に所属していても、組織の外部にいてもかまいません。
  • 受信者によるドキュメントの使用方法の指定。 Acrobat と Adobe Reader の様々な機能へのアクセスを制限できます。 これらの機能には、テキストの印刷とコピー、署名の追加、ドキュメントへのコメントの追加などが含まれます。
  • ポリシーで保護されたドキュメントの任意の時点(配布後も含む)でのアクセスおよびセキュリティ設定の変更。
  • ドキュメントの配布後の使用状況の監視。 ドキュメントが誰にどのように使用されているかを確認できます。 例えば、誰かがドキュメントを開いた日時を調べることができます。

Web サービスを使用したポリシーの作成 creating-a-policy-using-web-services

Web サービス API を使用してポリシーを作成する場合は、そのポリシーを記述する既存の Portable Document Rights Language(PDRL)XML ファイルを参照します。ポリシー権限とプリンシパルは、PDRL ドキュメントで定義されます。次の XML ドキュメントは、PDRL ドキュメントの例です。

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <Policy PolicyInstanceVersion="1" PolicyID="5DA3F847-DE76-F9CC-63EA-49A8D59154DE" PolicyCreationTime="2004-08-30T00:02:28.294+00:00" PolicyType="1" PolicySchemaVersion="1.0" PolicyName="SDK Test Policy -4344050357301573237" PolicyDescription="An SDK Test policy" xmlns="https://www.adobe.com/schema/1.0/pdrl">
       <PolicyEntry>
          <ns1:Permission PermissionName="com.adobe.aps.onlineOpen" Access="ALLOW" xmlns:ns1="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns2:Permission PermissionName="com.adobe.aps.offlineOpen" Access="ALLOW" xmlns:ns2="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns3:Permission PermissionName="com.adobe.aps.pdf.editNotes" Access="ALLOW" xmlns:ns3="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns4:Permission PermissionName="com.adobe.aps.pdf.fillAndSign" Access="ALLOW" xmlns:ns4="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />
          <Principal PrincipalNameType="SYSTEM">
             <PrincipalDomain>EDC_SPECIAL</PrincipalDomain>

             <PrincipalName>all_internal_users</PrincipalName>
          </Principal>
       </PolicyEntry>
       <PolicyEntry>
          <ns5:Permission PermissionName="com.adobe.aps.onlineOpen" Access="ALLOW" xmlns:ns5="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns6:Permission PermissionName="com.adobe.aps.offlineOpen" Access="ALLOW" xmlns:ns6="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns7:Permission PermissionName="com.adobe.aps.pdf.copy" Access="ALLOW" xmlns:ns7="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns8:Permission PermissionName="com.adobe.aps.pdf.printLow" Access="ALLOW" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" xmlns:ns8="https://www.adobe.com/schema/1.0/pdrl" />

          <ns9:Permission PermissionName="com.adobe.aps.policySwitch" Access="ALLOW" xmlns:ns9="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns10:Permission PermissionName="com.adobe.aps.revoke" Access="ALLOW" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" xmlns:ns10="https://www.adobe.com/schema/1.0/pdrl" />

          <ns11:Permission PermissionName="com.adobe.aps.pdf.edit" Access="ALLOW" xmlns:ns11="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns12:Permission PermissionName="com.adobe.aps.pdf.editNotes" Access="ALLOW" xmlns:ns12="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns13:Permission PermissionName="com.adobe.aps.pdf.fillAndSign" Access="ALLOW" xmlns:ns13="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <ns14:Permission PermissionName="com.adobe.aps.pdf.printHigh" Access="ALLOW" xmlns:ns14="https://www.adobe.com/schema/1.0/pdrl" xmlns="https://www.adobe.com/schema/1.0/pdrl-ex" />

          <Principal PrincipalNameType="SYSTEM">
             <PrincipalDomain>EDC_SPECIAL</PrincipalDomain>

             <PrincipalName>publisher</PrincipalName>
          </Principal>
       </PolicyEntry>

       <OfflineLeasePeriod>
          <Duration>P31D</Duration>
       </OfflineLeasePeriod>

       <AuditSettings isTracked="true" />

       <PolicyValidityPeriod isAbsoluteTime="false">
          <ValidityPeriodRelative>
             <NotBeforeRelative>PT0S</NotBeforeRelative>

             <NotAfterRelative>P20D</NotAfterRelative>
          </ValidityPeriodRelative>
       </PolicyValidityPeriod>
 </Policy>
NOTE
Document Security サービスについて詳しくは、AEM Forms サービスリファレンスを参照してください。

手順の概要 summary-of-steps

ポリシーを作成するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. ポリシーの属性を設定します。
  4. ポリシーエントリを作成します。
  5. ポリシーを登録します。

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

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

次の JAR ファイルをプロジェクトのクラスパスに追加する必要があります。

  • adobe-rightsmanagement-client.jar
  • namespace.jar(AEM Formsが JBoss にデプロイされている場合 )
  • jaxb-api.jar(AEM Forms が JBoss にデプロイされている場合)
  • jaxb-impl.jar(AEM Forms が JBoss にデプロイされている場合)
  • jaxb-libs.jar(AEM Forms が JBoss にデプロイされている場合)
  • jaxb-xjc.jar(AEM Forms が JBoss にデプロイされている場合)
  • relaxingDatatype.jar(AEM Forms が JBoss にデプロイされている場合)
  • xsdlib.jar(AEM Forms が JBoss にデプロイされている場合)
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-utilities.jar
  • jbossall-client.jar(AEM Forms が JBoss にデプロイされていない場合は、別の JAR ファイルを使用)

これらの JAR ファイルの場所について詳しくは、AEM Forms Java ライブラリファイルを含めるを参照してください。

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラムで実行する前に、Document Security サービスのクライアントオブジェクトを作成します。

ポリシーの属性を設定します

ポリシーを作成するには、ポリシー属性を設定します。必須の属性は、ポリシー名です。ポリシー名は、ポリシーセットごとに一意である必要があります。ポリシーセットは、単にポリシーの集まりです。ポリシーが別々のポリシーセットに属している場合は、同じ名前の 2 つのポリシーを使用できます。ただし、1 つのポリシーセット内の 2 つのポリシーが同じポリシー名を持つことはできません。

有効期間も役に立つ属性です。有効期間とは、権限を持つ受信者がポリシーで保護されたドキュメントにアクセスできる期間を指します。この属性を設定しない場合、ポリシーは常に有効です。

有効期間は、次のいずれかのオプションに設定できます。

  • ドキュメントが公開されてからドキュメントにアクセスできる日数
  • ドキュメントにアクセスできなくなる終了日
  • ドキュメントにアクセスできる特定の日付範囲
  • 常に有効

開始日のみを指定した場合、ポリシーは開始日より後に有効になります。終了日のみを指定した場合、ポリシーは終了日まで有効です。ただし、開始日と終了日の両方が定義されていない場合は、例外が発生します。

ポリシーに属する属性を設定する場合は、暗号化設定も指定できます。これらの暗号化設定は、ポリシーがドキュメントに適用される際に影響を受けます。次の暗号化値を指定できます。

  • AES256:256 ビットキーを持つ AES 暗号化アルゴリズムを表します。
  • AES128:128 ビットキーを持つ AES 暗号化アルゴリズムを表します。
  • 暗号化なし:暗号化しないことを表します。

NoEncryption オプションを指定した場合、PlaintextMetadata オプションを false に設定することはできません。その場合は、例外が発生します。

NOTE
設定可能なその他の属性について詳しくは、AEM Forms API リファレンスPolicy インターフェイスの説明について参照してください。

ポリシーエントリの作成

ポリシーエントリは、プリンシパル(グループとユーザー)と権限をポリシーに添付します。ポリシーには少なくとも 1 つのポリシーエントリが必要です。例えば、次のタスクを実行したとします。

  • グループがオンライン中にのみドキュメントを表示できるようにし、受信者がドキュメントをコピーできないようにするポリシーエントリを作成して登録します。
  • ポリシーにポリシーエントリを添付します。
  • Acrobat を使用して、ポリシーでドキュメントを保護します。

これらのアクションを実行すると、受信者はドキュメントをオンラインで表示するだけで、コピーできなくなります。ドキュメントからセキュリティが削除されるまで、ドキュメントは安全なままです。

ポリシーを登録

新しいポリシーを使用するには、そのポリシーを登録する必要があります。ポリシーを登録すると、そのポリシーを使用してドキュメントを保護できます。

Java API を使用したポリシーの作成 create-a-policy-using-the-java-api

Document Security API(Java)を使用してポリシーを作成します。

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

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

  2. Document Security Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して ServiceClientFactory オブジェクトを渡すことによって、DocumentSecurityClient オブジェクトを作成します。
  3. ポリシーの属性を設定します。

    • の作成 Policy を呼び出すことによって、オブジェクトを InfomodelObjectFactory オブジェクトの静的 createPolicy メソッド。 このメソッドは、Policy オブジェクトを返します。
    • を呼び出して、ポリシーの名前属性を設定します。 Policy オブジェクトの setName メソッドを使用し、ポリシー名を指定する string 値を渡す。
    • を呼び出して、ポリシーの説明を設定します。 Policy オブジェクトの setDescription メソッドを使用して、ポリシーの説明を指定する string 値を渡すことができます。
    • を呼び出して、新しいポリシーが属するポリシーセットを指定します。 Policy オブジェクトの setPolicySetName メソッドを使用し、ポリシーセット名を指定する string 値を渡す。 (このパラメーター値に null を指定すると、このポリシーが​ マイポリシー ​ポリシーセットに追加されます)。
    • を呼び出して、ポリシーの有効期間を作成します。 InfomodelObjectFactory オブジェクトの静的 createValidityPeriod メソッド。 このメソッドは、ValidityPeriod オブジェクトを返します。
    • ポリシーで保護されたドキュメントにアクセスできる日数を、 ValidityPeriod オブジェクトの setRelativeExpirationDays メソッドを使用し、日数を指定する整数値を渡す方法と方法。
    • を呼び出して、ポリシーの有効期間を設定します。 Policy オブジェクトの setValidityPeriod メソッドおよび ValidityPeriod オブジェクト。
  4. ポリシーエントリを作成します。

    • を呼び出してポリシーエントリを作成する InfomodelObjectFactory オブジェクトの静的 createPolicyEntry メソッド。 このメソッドは、PolicyEntry オブジェクトを返します。
    • を呼び出して、ポリシーの権限を指定します。 InfomodelObjectFactory オブジェクトの静的 createPermission メソッド。 権限を表す Permission インターフェイスに属する静的データメンバーを渡します。このメソッドは Permission オブジェクトを返します。例えば、ポリシーで保護された PDF ドキュメントのデータをユーザーがコピーできる権限を追加するには、Permission.COPY を渡します(追加する権限ごとに、この手順を繰り返します)。
    • を呼び出して、ポリシーエントリに権限を追加します。 PolicyEntry オブジェクトの addPermission メソッドおよび Permission オブジェクト。 (この手順を作成した各 Permission オブジェクトについて繰り返します)。
    • を呼び出して、ポリシープリンシパルを作成します。 InfomodelObjectFactory オブジェクトの静的 createSpecialPrincipal メソッド。 プリンシパルを表す InfomodelObjectFactory オブジェクトに属するデータメンバーを渡します。このメソッドは Principal オブジェクトを返します。例えば、ドキュメントのパブリッシャーをプリンシパルとして追加するには、 InfomodelObjectFactory.PUBLISHER_PRINCIPAL を渡します。
    • を呼び出して、プリンシパルをポリシーエントリに追加します。 PolicyEntry オブジェクトの setPrincipalメソッドおよび Principal オブジェクト。
    • を呼び出して、ポリシーにポリシーエントリを追加します。 Policy オブジェクトの addPolicyEntry メソッドおよび PolicyEntry オブジェクト。
  5. ポリシーを登録します。

    • の作成 PolicyManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getPolicyManager メソッド。

    • を呼び出して、ポリシーを登録します。 PolicyManager オブジェクトの registerPolicy メソッドを使用して、次の値を渡します。

      • 登録するポリシーを表す Policy オブジェクト。
    • ポリシーが属するポリシーセットを表す文字列値。

    接続設定でAEM forms 管理者アカウントを使用して DocumentSecurityClient オブジェクトを選択し、 registerPolicy メソッド。 ポリシーセットに null 値を渡すと、ポリシーは管理者の​ マイポリシー ​のポリシーセットに作成されます。

    接続設定内で Document Security ユーザーを使用する場合は、ポリシーのみを受け入れる過負荷の registerPolicy メソッドを呼び出すことができます。つまり、ポリシーセット名を指定する必要はありません。ただし、ポリシーは​ マイポリシー ​という名前のポリシーセットに追加されます。このポリシーセットに新しいポリシーを追加しない場合は、registerPolicy メソッドを呼び出す際にポリシーセット名を指定します。

    note note
    NOTE
    ポリシーを作成するとき、既存のポリシーセットを参照します。存在しないポリシーセットを指定すると、例外がスローされます。

Document Security サービスを使用するコード例については、次を参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用したポリシーの作成」

Web サービス API を使用してポリシーを作成する create-a-policy-using-the-web-service-api

Document Security API(web サービス)を使用してポリシーを作成します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して DocumentSecurityServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • RightsManagementServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を RightsManagementServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。

  3. ポリシーの属性を設定します。

    • コンストラクターを使用して PolicySpec オブジェクトを作成します。
    • ポリシーの名前を設定するには、 PolicySpec オブジェクトの name データメンバー。
    • ポリシーの説明を設定するには、 PolicySpec オブジェクトの description データメンバー。
    • ポリシーが属するポリシーセットを指定するには、 PolicySpec オブジェクトの policySetName データメンバー。 既存のポリシーセット名を指定します。 (このパラメーター値に null を指定すると、このポリシーは​ マイポリシー ​に追加されます)。
    • ポリシーのオフラインリース期間を設定するには、 PolicySpec オブジェクトの offlineLeasePeriod データメンバー。
    • を設定します。 PolicySpec オブジェクトの policyXml PDRL XML データを表す string 値を持つデータメンバー。 このタスクを実行するには、コンストラクターを使用して .NET StreamReader オブジェクトを作成します。ポリシーを表す PDRL XML ファイルの場所を StreamReader コンストラクターに渡します。次に、 StreamReader オブジェクトの ReadLine メソッドを使用して戻り値を文字列変数に割り当てます。 ReadLine メソッドが null を返すまで StreamReader オブジェクトを反復します。文字列変数を PolicySpec オブジェクトの policyXml データメンバー。
  4. ポリシーエントリを作成します。

    Document Security web サービス API を使用してポリシーを作成する場合は、ポリシーエントリを作成する必要はありません。ポリシーエントリは、PDRL ドキュメントで定義されます。

  5. ポリシーを登録します。

    を呼び出して、ポリシーを登録します。 DocumentSecurityServiceClient オブジェクトの registerPolicy メソッドを使用して、次の値を渡します。

    • 登録するポリシーを表す PolicySpec オブジェクト。
    • ポリシーが属するポリシーセットを表す文字列値。null 値を指定すると、このポリシーは​ マイポリシー に追加されることになります。

    接続設定でAEM forms 管理者アカウントを使用して DocumentSecurityClient オブジェクトの場合は、 registerPolicy メソッド。

    接続設定内で Document Security ユーザーを使用する場合は、ポリシーのみを受け入れる過負荷の registerPolicy メソッドを呼び出すことができます。つまり、ポリシーセット名を指定する必要はありません。ただし、ポリシーは​ マイポリシー ​という名前のポリシーセットに追加されます。このポリシーセットに新しいポリシーを追加しない場合は、registerPolicy メソッドを呼び出す際にポリシーセット名を指定します。

    note note
    NOTE
    ポリシーを作成し、ポリシーセットを指定する場合は、既存のポリシーセットを指定してください。存在しないポリシーセットを指定すると、例外がスローされます。

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用したポリシーの作成」
  • 「クイックスタート(SwaRef):Web サービス API を使用したポリシーの作成」

ポリシーの変更 modifying-policies

既存のポリシーは、Document Security Java API または web サービス API を使用して変更できます。既存のポリシーを変更するには、そのポリシーを取得し、変更してから、サーバー上のポリシーを更新します。 例えば、既存のポリシーを取得し、その有効期間を延長するとします。変更を反映するには、ポリシーを更新する必要があります。

ビジネス要件が変わり、ポリシーがその要件を反映しなくなった場合、ポリシーを変更できます。ポリシーを作成する代わりに、既存のポリシーを更新するだけで済みます。

Web サービスを使用してポリシー属性を変更するには(例えば、JAX-WS で作成された Java プロキシクラスを使用する場合)、ポリシーが Document Security サービスに登録されていることを確認する必要があります。その後、PolicySpec.getPolicyXml メソッドを使用して既存のポリシーを参照し、該当するメソッドを使用してポリシー属性を変更できます。たとえば、PolicySpec.setOfflineLeasePeriod メソッドを呼び出して、オフラインリース期間を変更できます。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-1

既存のポリシーを変更するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. 既存のポリシーを取得します。
  4. ポリシー属性を変更します。
  5. ポリシーを更新します。

プロジェクトファイルの組み込み

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

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラムで実行する前に、Document Security サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、RightsManagementClient オブジェクトを作成します。Document Security web サービス API を使用している場合は、RightsManagementServiceService オブジェクトを作成します。

既存のポリシーの取得

既存のポリシーを取得して変更します。 ポリシーを取得するには、ポリシー名とポリシーが属するポリシーセットを指定します。ポリシーセット名に null 値を指定すると、ポリシーは​ マイポリシー ​ポリシーセットから取得されます。

ポリシーの属性を設定します

ポリシーを変更するには、ポリシー属性の値を変更します。変更できない唯一のポリシー属性は名前属性です。たとえば、ポリシーのオフラインリース期間を変更するには、ポリシーのオフラインリース期間属性の値を変更します。

Web サービスを使用してポリシーのオフラインリース期間を変更する場合、 offlineLeasePeriod フィールド PolicySpec インターフェイスは無視されます。 オフラインリース期間を更新するには、PDRL XML ドキュメントの OfflineLeasePeriod 要素を変更します。次に、 PolicySpec インターフェイスの policyXML データメンバー。

NOTE
設定可能なその他の属性については、AEM Forms API リファレンスPolicy インターフェイスの説明を参照してください。

ポリシーの更新

ポリシーに対して行った変更を有効にするには、Document Security サービスを使用してポリシーを更新する必要があります。ドキュメントを保護するポリシーに対する変更は、次にポリシーで保護されたドキュメントが Document Security サービスと同期されるときに更新されます。

Java API を使用した既存のポリシーの変更 modify-existing-policies-using-the-java-api

Document Security API(Java)を使用して既存のポリシーを変更します。

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

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

  2. Document Security Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して RightsManagementClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. 既存のポリシーを取得します。

    • の作成 PolicyManager を呼び出すことによって、オブジェクトを RightsManagementClient オブジェクトの getPolicyManager メソッド。

    • の作成 Policy を呼び出して更新するポリシーを表すオブジェクト PolicyManager オブジェクトの getPolicy メソッドを使用して次の値を渡す»

      • ポリシーが属するポリシーセット名を表す文字列値。null を指定すると、MyPolicies ポリシーセットが使用されるようになります。
      • ポリシー名を表す文字列値。
  4. ポリシーの属性を設定します。

    ポリシーの属性を、ビジネス要件に合わせて変更します。 たとえば、ポリシーのオフラインリース期間を変更するには、 Policy オブジェクトの setOfflineLeasePeriod メソッド。

  5. ポリシーを更新します。

    を呼び出してポリシーを更新する PolicyManager オブジェクトの updatePolicy メソッド。 更新するポリシーを表す Policy オブジェクトを渡します。

コード例

Document Security サービスを使用するコード例については、「クイックスタート(SOAP モード):Java API を使用したポリシーの変更」の節を参照してください。

Web サービス API を使用して既存のポリシーを変更する modify-existing-policies-using-the-web-service-api

Document Security API(web サービス)を使用して既存のポリシーを変更します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して RightsManagementServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • RightsManagementServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を RightsManagementServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。

  3. 既存のポリシーを取得します。

    の作成 PolicySpec を呼び出して、変更するポリシーを表すオブジェクト RightsManagementServiceClient オブジェクトの getPolicy メソッドを使用して、次の値を渡します。

    • ポリシーが属するポリシーセット名を指定する文字列値。null を指定すると、MyPolicies ポリシーセットが使用されます。
    • ポリシーの名前を指定する文字列値。
  4. ポリシーの属性を設定します。

    ポリシーの属性を、ビジネス要件に合わせて変更します。

  5. ポリシーを更新します。

    を呼び出してポリシーを更新する RightsManagementServiceClient オブジェクトの updatePolicyFromSDK メソッドおよび PolicySpec 更新するポリシーを表すオブジェクト。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用したポリシーの変更」
  • 「クイックスタート(SwaRef):Web サービス API を使用したポリシーの変更」

ポリシーの削除 deleting-policies

既存のポリシーは、Document Security Java API または web サービス API を使用して削除できます。ポリシーを削除すると、そのポリシーをドキュメントの保護に使用できなくなります。ただし、ポリシーを使用している既存のポリシーで保護されたドキュメントは、引き続き保護されます。新しいポリシーが利用可能になったら、ポリシーを削除できます。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-2

既存のポリシーを削除するには、次の手順に従います。

  1. プロジェクトファイルを含める
  2. Document Security Client API オブジェクトを作成します。
  3. ポリシーを削除します。

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

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

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラムで実行するには、事前に Document Security サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、RightsManagementClient オブジェクトを作成します。Document Security web サービス API を使用している場合は、RightsManagementServiceService オブジェクトを作成します。

ポリシーを削除

ポリシーを削除するには、削除するポリシーと、そのポリシーが属するポリシーセットを指定します。AEM Forms の呼び出しに設定を使用するユーザーには、ポリシーを削除する権限が必要です。権限がない場合は、例外が発生します。同様に、存在しないポリシーを削除しようとすると、例外が発生します。

Java API を使用したポリシーの削除 delete-policies-using-the-java-api

Document Security API(Java)を使用してポリシーを削除します。

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

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

  2. Document Security Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して RightsManagementClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. ポリシーを削除します。

    • の作成 PolicyManager を呼び出すことによって、オブジェクトを RightsManagementClient オブジェクトの getPolicyManager メソッド。

    • を呼び出してポリシーを削除する PolicyManager オブジェクトの deletePolicy メソッドを使用して、次の値を渡します。

      • ポリシーが属するポリシーセット名を指定する文字列値。null を指定すると、MyPolicies ポリシーセットが使用されます。
      • 削除するポリシーの名前を指定する文字列値。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用したポリシーの削除」

Web サービス API を使用したポリシーの削除 delete-policies-using-the-web-service-api

Document Security API(web サービス)を使用してポリシーを削除します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して RightsManagementServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • RightsManagementServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を RightsManagementServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。

  3. ポリシーを削除します。

    を呼び出してポリシーを削除する RightsManagementServiceClient オブジェクトの deletePolicy メソッドを使用して、次の値を渡します。

    • ポリシーが属するポリシーセット名を指定する文字列値。null を指定すると、MyPolicies ポリシーセットが使用されます。
    • 削除するポリシーの名前を指定する文字列値。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用したポリシーの削除」
  • 「クイックスタート(SwaRef):Web サービス API を使用したポリシーの削除」

PDF ドキュメントへのポリシーの適用 applying-policies-to-pdf-documents

ポリシーをポリシードキュメントに適用してPDFを保護することができます。 ポリシーを PDF ドキュメントに適用すると、ドキュメントへのアクセスを制限できます。ドキュメントを保護しているポリシーが既にある場合は、このドキュメントにポリシーを適用することはできません。

ドキュメントを開いている間は、テキストの印刷とコピー、変更、ドキュメントへの署名とコメントの追加など、Acrobat と Adobe Reader の機能へのアクセスを制限することもできます。 また、ユーザーのドキュメントへのアクセスを制限する場合に、ポリシーで保護された PDF ドキュメントを失効させることもできます。

ポリシーで保護されたドキュメントを配布した後で、そのドキュメントの使用を監視できます。つまり、ドキュメントが誰によって、どのように使用されているかを確認できるということです。例えば、誰かがそのドキュメントを開いた日時を知ることができます。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-3

ポリシーを PDF ドキュメントに適用するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. ポリシーが適用される PDF ドキュメントを取得します。
  4. PDF ドキュメントに既存のポリシーを適用します。
  5. ポリシーで保護された PDF ドキュメントを保存します。

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

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

Document Security クライアント API オブジェクトの作成

Document Security サービスの操作をプログラム的に実行するには、その前にまず Document Security サービスのクライアントオブジェクトを作成します。 Java API を使用している場合は、DocumentSecurityClient オブジェクトを作成します。Document Security Web サービス API を使用する場合は、DocumentSecurityServiceService オブジェクトを作成します。

PDF 文書の取得

ポリシーを適用するPDFドキュメントを取得できます。 ポリシーを PDF ドキュメントに適用すると、ユーザーはドキュメントを使用する際に制限を受けます。 例えば、ドキュメントをオフラインで開くことができないようポリシーで定められている場合、ユーザーがドキュメントを開くにはオンラインである必要があります。

PDF ドキュメントに既存のポリシーを適用

ポリシーを PDF ドキュメントに適用するには、既存のポリシーを参照し、ポリシーが属するポリシーセットを指定します。 接続プロパティを設定するユーザーは、指定したポリシーにアクセスできる必要があります。 できない場合は、例外が発生します。

PDF ドキュメントを保存

Document Security サービスによってポリシーが PDF ドキュメントに適用された後、ポリシーで保護された PDF ドキュメントを PDF ファイルとして保存できます。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

ドキュメントへのアクセス権の失効

Java API を使用した PDF ドキュメントへのポリシーの適用 apply-a-policy-to-a-pdf-document-using-the-java-api

Document Security API(Java)を使用して、PDF ドキュメントにポリシーを適用します。

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

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

  2. Document Security Client API オブジェクトを作成します。

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

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

    • の作成 DocumentManager を呼び出すことによって、オブジェクトを RightsManagementClient オブジェクトの getDocumentManager メソッド。

    • を呼び出して、PDFドキュメントにポリシーを適用する DocumentManager オブジェクトの protectDocument メソッドを使用して、次の値を渡します。

      • このポリシーが適用される PDF ドキュメントが格納される com.adobe.idp.Document オブジェクト。
      • ドキュメントの名前を指定する文字列値。
      • ポリシーが属しているポリシーセットの名前を表す文字列値。null 値を指定すると、MyPolicies ポリシーセットが使用されます。
      • ポリシー名を指定する文字列値。
      • ドキュメントのパブリッシャーであるユーザーのユーザーマネージャードメインの名前を表す文字列値。このパラメーターの値はオプションであり、null にすることができます(このパラメーターが null の場合、次のパラメーターの値も null にする必要があります)。
      • ドキュメントのパブリッシャーであるユーザーマネージャーユーザーの正規名の名前を表す文字列値。このパラメーター値はオプションで、null にできます(このパラメーターを null にする場合、前のパラメーター値は null である必要があります)。
      • MS Office テンプレートの選択に使用されるロケールを表す com.adobe.livecycle.rightsmanagement.Locale です。このパラメーター値はオプションで、PDF ドキュメントには使用されません。 PDF ドキュメントを保護するには、null を指定します。

      protectDocument メソッドは、ポリシーで保護された PDF ドキュメントが格納される RMSecureDocumentResult オブジェクト。

  5. PDF ドキュメントを保存します。

    • を呼び出す RMSecureDocumentResult オブジェクトの getProtectedDoc メソッドを使用して、ポリシーで保護されたPDFドキュメントを取得します。 このメソッドは com.adobe.idp.Document オブジェクトを返します。
    • java.io.File オブジェクトを作成し、ファイル拡張子が PDF であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 Document オブジェクトをファイルに追加します ( Document が返したオブジェクト getProtectedDoc メソッド )。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(EJB モード):Java API を使用した PDF ドキュメントへのポリシーの適用」
  • 「クイックスタート(SOAP モード):Java API を使用した PDF ドキュメントへのポリシーの適用」

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Web サービス API を使用した PDF ドキュメントへのポリシーの適用 apply-a-policy-to-a-pdf-document-using-the-web-service-api

Document Security API(web サービス)を使用して、PDF ドキュメントにポリシーを適用します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して RightsManagementServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • RightsManagementServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を RightsManagementServiceClient.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. PDF ドキュメントに既存のポリシーを適用します。

    を呼び出して、PDFドキュメントにポリシーを適用する RightsManagementServiceClient オブジェクトの protectDocument メソッドを使用して、次の値を渡します。

    • このポリシーが適用される PDF ドキュメントが格納される BLOB オブジェクト。
    • ドキュメントの名前を指定する文字列値。
    • ポリシーが属しているポリシーセットの名前を表す文字列値。null 値を指定すると、MyPolicies ポリシーセットが使用されます。
    • ポリシー名を指定する文字列値。
    • ドキュメントのパブリッシャーであるユーザーのユーザーマネージャードメインの名前を表す文字列値。このパラメーター値はオプションであり、null にすることができます(このパラメーターが null の場合、次のパラメーター値は null である必要があります)。
    • ドキュメントのパブリッシャーであるユーザーマネージャーユーザーの正規名の名前を表す文字列値。このパラメーター値はオプションであり、null にすることができます(このパラメーターが null の場合、前のパラメーター値は null である必要があります)。
    • ロケール値を指定する RMLocale 値(例: RMLocale.en)。
    • ポリシー識別子の値を格納するために使用される文字列出力パラメーター。
    • ポリシーで保護された識別子の値を保存するために使用される文字列出力パラメーター。
    • MIME タイプを保存するために使用される文字列出力パラメーター(例: application/pdf)。

    protectDocument メソッドは、 ポリシーで保護された PDF ドキュメントを含む BLOB オブジェクトを返します。

  5. PDF ドキュメントを保存します。

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

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した PDF ドキュメントへのポリシーの適用」
  • 「クイックスタート(SwaRef):Web サービス API を使用した PDF ドキュメントのポリシーへの適用」

PDF ドキュメントからのポリシーの削除 removing-policies-from-pdf-documents

ポリシーで保護されたドキュメントからポリシーを削除して、ドキュメントからセキュリティを削除できます。 つまり、ドキュメントをポリシーで保護したくない場合です。ポリシーで保護されたドキュメントを新しいポリシーで更新する場合は、ポリシーを削除して更新されたポリシーを追加する代わりに、ポリシーを切り替える方が効率的です。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンス を参照してください。

手順の概要 summary_of_steps-4

ポリシーで保護された PDF ドキュメントからポリシーを削除するには、次の手順を実行します。

  1. プロジェクトファイルを含める
  2. Document Security Client API オブジェクトを作成します。
  3. ポリシーで保護された PDF ドキュメントを取得します。
  4. PDF ドキュメントからポリシーを削除します。
  5. 保護されていない PDF ドキュメントを保存します。

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

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

ドキュメントセキュリティクライアント API オブジェクトを作成

Document Security サービスの操作をプログラムで実行する前に、Document Security サービスのクライアントオブジェクトを作成します。

ポリシーで保護された PDF ドキュメントの取得

ポリシーで保護されたPDFドキュメントを取得して、ポリシーを削除できます。 ポリシーで保護されていない PDF ドキュメントからポリシーを削除しようとすると、例外が発生します。

PDF ドキュメントからポリシーを削除

接続設定で管理者が指定されている場合は、ポリシーで保護された PDF ドキュメントからポリシーを削除できます。そうでない場合、ドキュメントの保護に使用するポリシーには、 SWITCH_POLICY ポリシードキュメントからPDFを削除する権限。 また、AEM Forms 接続設定で指定したユーザーにも、その権限が必要です。それ以外の場合は、例外がスローされます。

保護されていない PDF ドキュメントを保存

Document Security サービスが PDF ドキュメントからポリシーを削除した後、保護されていない PDF ドキュメントを PDF ファイルとして保存できます。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

PDF ドキュメントへのポリシーの適用

Java API を使用して PDF ドキュメントからポリシーを削除する remove-a-policy-from-a-pdf-document-using-the-java-api

Document Security API(Java)を使用して、ポリシーで保護された PDF ドキュメントからポリシーを削除します。

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

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

  2. Document Security Client API オブジェクトを作成します。

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

    • コンストラクターを使用し、PDF ドキュメントの場所を指定する文字列値を渡して、ポリシーで保護された PDF ドキュメントを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. PDF ドキュメントからポリシーを削除します。

    • の作成 DocumentManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getDocumentManager メソッド。
    • を呼び出して、PDFドキュメントからポリシーを削除する DocumentManager オブジェクトの removeSecurity メソッドおよび com.adobe.idp.Document ポリシーで保護されたPDF・ドキュメントを含むオブジェクト。 このメソッドは、保護されていない PDF ドキュメントが格納された com.adobe.idp.Document オブジェクトを返します。
  5. 保護されていない PDF ドキュメントを保存します。

    • java.io.File オブジェクトを作成し、ファイル拡張子が PDF であることを確認します。
    • を呼び出す Document オブジェクトの copyToFile メソッドを使用して、 Document オブジェクトをファイルに追加します ( Document が返したオブジェクト removeSecurity メソッド )。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用した PDF ドキュメントからのポリシーの削除」

Web サービス API を使用したポリシーの削除 remove-a-policy-using-the-web-service-api

Document Security API(web サービス)を使用して、ポリシーで保護された PDF ドキュメントからポリシーを削除します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して DocumentSecurityServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • DocumentSecurityServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DocumentSecurityServiceClient.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. PDF ドキュメントからポリシーを削除します。

    を呼び出して、PDFドキュメントからポリシーを削除します。 DocumentSecurityServiceClient オブジェクトの removePolicySecurity メソッドおよび BLOB ポリシーで保護されたPDF・ドキュメントを含むオブジェクト。 このメソッドは、保護されていない PDF ドキュメントが格納された BLOB オブジェクトを返します。

  5. 保護されていない PDF ドキュメントを保存します。

    • System.IO.FileStream オブジェクトを作成するには、そのコンストラクターを呼び出し、保護されていない PDF ドキュメントのファイルの場所を表す文字列の値を渡します。
    • removePolicySecurity メソッドによって返された BLOB オブジェクトのデータコンテンツを格納するバイト配列を作成します。バイト配列を生成するには、 BLOB オブジェクトの MTOM フィールドに入力します。
    • コンストラクターを呼び出し、System.IO.FileStream オブジェクトを渡すことにより、System.IO.BinaryWriter オブジェクトを作成します。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した PDF ドキュメントからのポリシーの削除」
  • 「クイックスタート(SwaRef):Web サービス API を使用した PDF ドキュメントからのポリシーの削除」

関連トピック

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

ドキュメントへのアクセス権の失効 revoking-access-to-documents

ポリシーで保護された PDF ドキュメントへのアクセスを失効させると、ドキュメントのすべてのコピーにユーザーがアクセスできなくなります。失効した PDF ドキュメントを開こうとすると、ユーザーは指定された URL にリダイレクトされ、そこで改訂されたドキュメントを表示できます。ユーザーのリダイレクト先の URL をプログラムで指定する必要があります。 ドキュメントへのアクセスを取り消すと、ユーザーが次にポリシーで保護されたドキュメントをオンラインで開いて Document Security サービスと同期したときに、変更が反映されます。

ドキュメントへのアクセスを取り消す機能により、セキュリティが強化されます。 例えば、ドキュメントの新しいバージョンが使用可能で、古いバージョンを誰にも見られたくないとします。この場合、古いドキュメントへのアクセスを取り消し、アクセス権が復元されない限り、誰もドキュメントを表示できません。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-5

ポリシーで保護されたドキュメントを失効するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. ポリシーで保護された PDF ドキュメントを取得します。
  4. ポリシーで保護されたドキュメントを失効させます。

プロジェクトファイルの組み込み

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

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラムで実行する前に、Document Security サービスのクライアントオブジェクトを作成する必要があります。

ポリシーで保護された PDF ドキュメントの取得

ポリシーで保護されたPDFドキュメントを取り消します。 失効済みのドキュメントや、ポリシーで保護されたドキュメントではないドキュメントを取り消すことはできません。

ポリシーで保護されたドキュメントのライセンス識別子の値がわかっている場合は、ポリシーで保護された PDF ドキュメントを取得する必要はありません。 ただし、ほとんどの場合、ライセンス識別子の値を取得するには、PDFドキュメントを取得する必要があります。

ポリシーで保護されたドキュメントの取り消し

ポリシーで保護されたドキュメントを取り消すには、ポリシーで保護されたドキュメントのライセンス識別子を指定します。 さらに、失効したドキュメントを開こうとしたときにユーザーが表示できるドキュメントの URL を指定できます。つまり、古いドキュメントが取り消されたとします。 失効したドキュメントを開こうとすると、失効したドキュメントではなく、更新されたドキュメントが表示されます。

NOTE
失効済みのドキュメントを取り消そうとすると、例外が発生します。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

PDF ドキュメントへのポリシーの適用

失効したドキュメントへのアクセスの回復

Java API を使用したドキュメントへのアクセスの取り消し revoke-access-to-documents-using-the-java-api

Document Security API(Java)を使用して、ポリシーで保護された PDF ドキュメントへのアクセスを取り消します。

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

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

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

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して DocumentSecurityClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. ポリシーで保護された PDF ドキュメントの取得

    • コンストラクターを使用して、PDF ドキュメントの場所を指定する文字列値を渡すことで、ポリシーで保護された PDF ドキュメントを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. ポリシーで保護されたドキュメントの取り消し

    • の作成 DocumentManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getDocumentManager メソッド。

    • を呼び出して、ポリシーで保護されたドキュメントのライセンス識別子の値を取得します。 DocumentManager オブジェクトの getLicenseId メソッド。 ポリシーで保護されたドキュメントを表す com.adobe.idp.Document オブジェクトを渡します。このメソッドは、ライセンス識別子の値を表す文字列値を返します。

    • の作成 LicenseManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getLicenseManager メソッド。

    • を呼び出して、ポリシーで保護されたドキュメントを失効させます。 LicenseManager オブジェクトの revokeLicense メソッドを使用して、次の値を渡します。

      • ポリシーで保護されたドキュメントのライセンス識別子の値を指定する string 値 ( DocumentManager オブジェクトの getLicenseId メソッド )。
      • ドキュメントを取り消す理由を指定する License インターフェイスの静的データメンバーです。例えば、License.DOCUMENT_REVISED を指定できます。
      • 改訂済みドキュメントの場所を指定する java.net.URL 値です。 ユーザーを別の URL にリダイレクトしないようにする場合は、null を渡します。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用したドキュメントの失効」

Web サービス API を使用したドキュメントへのアクセスの取り消し revoke-access-to-documents-using-the-web-service-api

Document Security API(web サービス)を使用して、ポリシーで保護された PDF ドキュメントへのアクセスを取り消します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置換します。
  2. Document Security Client API オブジェクトの作成

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して DocumentSecurityServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • DocumentSecurityServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DocumentSecurityServiceClient.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. ポリシーで保護されたドキュメントを失効させる

    • を呼び出して、ポリシーで保護されたドキュメントのライセンス識別子の値を取得します。 DocumentSecurityServiceClient オブジェクトの getLicenseID メソッドおよび BLOB ポリシーで保護されたドキュメントを表すオブジェクト。 このメソッドは、ライセンス識別子を表す文字列値を返します。

    • を呼び出して、ポリシーで保護されたドキュメントを失効させます。 DocumentSecurityServiceClient オブジェクトの revokeLicense メソッドを使用して、次の値を渡します。

      • ポリシーで保護されたドキュメントのライセンス識別子の値を指定する string 値 ( DocumentSecurityServiceService オブジェクトの getLicenseId メソッド )。
      • ドキュメントを失効させる理由を指定する Reason enum の静的データメンバー。例えば、Reason.DOCUMENT_REVISED を指定できます。
      • 改訂されたドキュメントの URL の場所を指定する string 値。ユーザーを別の URL にリダイレクトしたくない場合、null を渡すことができます。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用したドキュメントの失効」
  • 「クイックスタート(SwaRef):Web サービス API を使用したドキュメントの失効」

関連トピック

Word ドキュメントからのポリシーの削除

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

失効したドキュメントへのアクセスの回復 reinstating-access-to-revoked-documents

失効した PDF ドキュメントへのアクセス権を回復すると、失効したドキュメントのすべてのコピーにユーザーがアクセスできるようになります。ユーザーが失効した回復済みドキュメントを開くと、そのドキュメントを表示できます。

NOTE
Document Security サービスについて詳しくは、AEM Formsのサービスリファレンス を参照してください。

手順の概要 summary_of_steps-6

失効した PDF ドキュメントへのアクセス権を回復するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. 失効した PDF ドキュメントのライセンス識別子を取得します。
  4. 失効した PDF ドキュメントへのアクセス権を回復します。

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

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

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラムで実行するには、事前に Document Security サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、DocumentSecurityClient オブジェクトを作成します。Document Security web サービス API を使用している場合は、DocumentSecurityServiceService オブジェクトを作成します。

失効した PDF ドキュメントのライセンス識別子の取得

失効したPDFドキュメントのライセンス識別子を取得して、失効したPDFドキュメントを回復します。 ライセンス識別子の値を取得した後、失効したドキュメントを復元できます。失効していないドキュメントを復元しようとすると、例外が発生します。

失効した PDF ドキュメントへのアクセス権限の復元

失効した PDF ドキュメントへのアクセス権限を復元するには、その失効したドキュメントのライセンス識別子を指定する必要があります。失効していない PDF ドキュメントへのアクセス権限を復元しようとすると、例外が発生します。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

PDF ドキュメントへのポリシーの適用

ドキュメントへのアクセス権の失効

失効したドキュメントへのアクセス権限を Java API を使用して復元する reinstate-access-to-revoked-documents-using-the-java-api

Document Security API(Java)を使用して、失効したドキュメントへのアクセス権限を復元します。

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

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

  2. Document Security Client API オブジェクトを作成します。

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

    • コンストラクターを使用し、PDF ドキュメントの場所を指定する文字列値を渡すことによって、失効した PDF ドキュメントを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
    • の作成 DocumentManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getDocumentManager メソッド。
    • を呼び出して、取り消されたドキュメントのライセンス識別子の値を取得します。 DocumentManager オブジェクトの getLicenseId メソッドおよび com.adobe.idp.Document 取り消されたドキュメントを表すオブジェクト。 このメソッドは、ライセンス識別子を表す文字列値を返します。
  4. 失効した PDF ドキュメントへのアクセス権を回復します。

    • の作成 LicenseManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getLicenseManager メソッド。
    • を呼び出して、取り消されたPDFドキュメントへのアクセスを回復する LicenseManager オブジェクトの unrevokeLicense 取り消されたドキュメントのメソッドおよびライセンス識別子の値を渡す方法。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Web サービス API を使用した失効ドキュメントへのアクセス権の回復」

失効したドキュメントへのアクセス権限を web サービス API を使用して復元する reinstate-access-to-revoked-documents-using-the-web-service-api

Document Security API(web サービス)を使用して、失効したドキュメントへのアクセス権限を復元します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して DocumentSecurityServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • DocumentSecurityServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DocumentSecurityServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.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. 失効した PDF ドキュメントへのアクセス権を回復します。

    • を呼び出して、取り消されたドキュメントのライセンス識別子の値を取得します。 DocumentSecurityServiceClient オブジェクトの getLicenseID メソッドおよび BLOB 取り消されたドキュメントを表すオブジェクト。 このメソッドは、ライセンス識別子を表す文字列値を返します。
    • を呼び出して、取り消されたPDFドキュメントへのアクセスを回復する DocumentSecurityServiceClient オブジェクトの unrevokeLicense メソッドを使用し、取り消されたPDFドキュメントのライセンス識別子の値を指定する string 値を渡す ( DocumentSecurityServiceClient オブジェクトの getLicenseId メソッド )。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した失効ドキュメントへのアクセス権の回復」
  • 「クイックスタート(SwaRef):Web サービス API を使用した失効ドキュメントへのアクセス権の回復」

関連トピック

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

ポリシーで保護された PDF ドキュメントの検査 inspecting-policy-protected-pdf-documents

Document Security Service API(Java および web サービス)を使用すると、ポリシーで保護された PDF ドキュメントを検査できます。ポリシーで保護された PDF ドキュメントを検査すると、ポリシーで保護された PDF ドキュメントに関する情報が返されます。例えば、ドキュメントの保護に使用されたポリシーやドキュメントを保護した日付を確認できます。

使用しているバージョンが 8.x 以前の LiveCycle の場合、このタスクを実行できません。ポリシーで保護されたドキュメントの検査に関するサポートが AEM Forms に追加されました。LiveCycle 8.x(またはそれ以前)を使用してポリシーで保護されたドキュメントを検査しようとすると、例外がスローされます。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-7

ポリシーで保護された PDF ドキュメントを検査するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. 検査するポリシーで保護されたドキュメントを取得します。
  4. ポリシーで保護されたドキュメントに関する情報を取得します。

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

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

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラム的に実行するには、その前にまず Document Security サービスのクライアントオブジェクトを作成します。 Java API を使用している場合は、RightsManagementClient オブジェクトを作成します。Document Security web サービス API を使用している場合は、 RightsManagementServiceService オブジェクトを作成します。

ポリシーで保護されたドキュメントを取得して検査する

ポリシーで保護されたドキュメントを検査するには、ドキュメントを取得します。ポリシーで保護されていないドキュメントや、失効したドキュメントを検査しようとすると、例外がスローされます。

ドキュメントを検査する

ポリシーで保護されたドキュメントを取得した後に、それを検査することができます。

ポリシーで保護されたドキュメントに関する情報を取得する

ポリシーで保護された PDF ドキュメントを検査した後、そのドキュメントに関する情報を取得できます。例えば、ドキュメントの保護に使用するポリシーを指定できます。

マイポリシーに属するポリシーでドキュメントを保護して RMInspectResult.getPolicysetName または RMInspectResult.getPolicysetId を呼び出した場合は、null が戻されます。

ポリシーセットに含まれるポリシー(マイポリシー以外)を使用してドキュメントを保護する場合は、 RMInspectResult.getPolicysetName および RMInspectResult.getPolicysetId は有効な文字列を返します。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Java API を使用してポリシーで保護された PDF ドキュメントを検査する inspect-policy-protected-pdf-documents-using-the-java-api

Document Security Service API(Java)を使用して、ポリシーで保護された PDF ドキュメントを検査します。

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

    Java プロジェクトのクラスパスに、 adobe-rightsmanagement-client.jar などのクライアント JAR ファイルを含めます。 これらのファイルの場所については、AEM Forms Java ライブラリファイルを含めるを参照してください。

  2. Document Security Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。(接続プロパティの設定を参照。)
    • コンストラクタを使用して RightsManagementClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. 検査するポリシーで保護されたドキュメントを取得します。

    • コンストラクタを使用して、ポリシーで保護された PDF ドキュメントを表す java.io.FileInputStream オブジェクトを作成します。PDF ドキュメントの場所を指定する文字列値を渡します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. ドキュメントを検査します。

    • の作成 DocumentManager を呼び出すことによって、オブジェクトを RightsManagementClient オブジェクトの getDocumentManager メソッド。
    • Inspectを呼び出すことで、ポリシーで保護されたドキュメントを LicenseManager オブジェクトの inspectDocument メソッド。 ポリシーで保護された PDF ドキュメントを含む com.adobe.idp.Document オブジェクトを渡します。このメソッドは、ポリシーで保護されたドキュメントに関する情報を含む RMInspectResult オブジェクトを返します。
  5. ポリシーで保護されたドキュメントに関する情報を取得します。

    ポリシーで保護されたドキュメントに関する情報を取得するには、RMInspectResult オブジェクトに属する適切なメソッドを呼び出します。例えば、ポリシー名を取得するには、 RMInspectResult オブジェクトの getPolicyName メソッド。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用した PDF ドキュメント保護ポリシーの検査」

Web サービス API を使用したポリシーで保護された PDF ドキュメントの検査 inspect-policy-protected-pdf-documents-using-the-web-service-api

Document Security Service API(web サービス)を使用して、ポリシーで保護された PDF ドキュメントを検査します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して RightsManagementServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • RightsManagementServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を RightsManagementServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。

  3. 検査するポリシーで保護されたドキュメントを取得します。

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

    Inspectを呼び出すことで、ポリシーで保護されたドキュメントを RightsManagementServiceClient オブジェクトの inspectDocument メソッド。 ポリシーで保護された PDF ドキュメントを含む BLOB オブジェクトを渡します。このメソッドは、ポリシーで保護されたドキュメントに関する情報を含む RMInspectResult オブジェクトを返します。

  5. ポリシーで保護されたドキュメントに関する情報を取得します。

    ポリシーで保護されたドキュメントに関する情報を取得するには、RMInspectResult オブジェクトに属する適切なフィールドの値を取得します。例えば、ポリシー名を取得するには、 RMInspectResult オブジェクトの policyName フィールドに入力します。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した PDF ドキュメント保護ポリシーの検査」
  • 「クイックスタート(SwaRef):Web サービス API を使用した PDF ドキュメント保護ポリシーの検査」

関連トピック

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

透かしの作成 creating-watermarks

透かしを使用すると、ドキュメントを一意に識別し、著作権侵害を制御することにより、ドキュメントのセキュリティを確保できます。例えば、機密を示す透かしを作成して、ドキュメントのすべてのページに配置できます。透かしを作成した後は、その透かしをポリシーの一部として含めることができます。つまり、新しく作成した透かしにポリシーの透かし属性を設定できます。 透かしを含むポリシーがドキュメントに適用されると、その透かしはポリシーで保護されたドキュメントに表示されます。

NOTE
透かしを作成できるのは、Document Security 管理者権限を持つユーザーのみです。 つまり、Document Security サービスクライアントオブジェクトの作成に必要な接続設定を定義する際には、このようなユーザーを指定する必要があります。
NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-8

透かしを作成するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. 透かし属性を設定します。
  4. 透かしを Document Security サービスに登録します。

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

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

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラムで実行するには、事前に Document Security サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、RightsManagementClient オブジェクトを作成します。Document Security web サービス API を使用している場合は、RightsManagementServiceService オブジェクトを作成します。

透かし属性を設定

透かしを作成するには、透かし属性を設定する必要があります。 name 属性は必ず定義する必要があります。name 属性に加えて、次の属性のうち少なくとも 1 つを設定する必要があります。

  • カスタムテキスト
  • DateIncluded
  • UserIdIncluded
  • UserNameIncluded

次のテーブルに、web サービスを使用して透かしを作成する際に必要なキーと値のペアを示します。

キー名
説明
WaterBackCmd:IS_USERNAME_ENABLED
ドキュメントを開くユーザーのユーザー名が透かしの一部であるかどうかを指定します。
True または False
WaterBackCmd:IS_USERID_ENABLED
ドキュメントを開くユーザーの ID が透かしの一部であるかどうかを指定します。
True または False
WaterBackCmd:IS_CURRENTDATE_ENABLED
現在の日付が透かしの一部であるかどうかを指定します。
True または False
WaterBackCmd:IS_CUSTOMTEXT_ENABLED
この値が true の場合、カスタムテキストの値は WaterBackCmd:SRCTEXT を使用して指定する必要があります。
True または False
WaterBackCmd:OPACITY
透かしの不透明度を指定します。指定しない場合、デフォルト値は 0.5 です。
0.0 ~ 1.0 の値です。
WaterBackCmd:ROTATION
透かしの回転を指定します。デフォルト値は 0 度です。
0 ~ 359 の値です。
WaterBackCmd:SCALE
この値を指定した場合、WaterBackCmd:IS_SIZE_ENABLED が存在し、その値が true である必要があります。この属性を指定しない場合、デフォルトの動作は全体表示です。
0.0 より大きく 1.0 以下の値。
WaterBackCmd:HORIZ_ALIGN
透かしの水平方向の位置を指定します。 デフォルト値は中央です。
左、中央または右
WaterBackCmd:VERT_ALIGN
透かしの垂直方向の位置を指定します。 デフォルト値は中央です。
上、中央、下
WaterBackCmd:IS_USE_BACKGROUND
透かしが背景かどうかを指定します。デフォルト値は false です。
True または False
WaterBackCmd:IS_SIZE_ENABLED
カスタムスケールが指定されている場合は true。この値が true の場合は、SCALE も指定する必要があります。この値が false の場合、デフォルトは全体表示です。
True または False
WaterBackCmd:SRCTEXT
透かしのカスタムテキストを指定します。この値が存在する場合、WaterBackCmd:IS_CUSTOMTEXT_ENABLED も存在し、true に設定されている必要があります。
True または False

すべての透かしには、次の属性のいずれかが定義されている必要があります。

  • WaterBackCmd:IS_USERNAME_ENABLED
  • WaterBackCmd:IS_USERID_ENABLED
  • WaterBackCmd:IS_CURRENTDATE_ENABLED
  • WaterBackCmd:IS_CUSTOMTEXT_ENABLED

その他の属性はすべてオプションです。

透かしを登録

新しい透かしを使用するには、その透かしを Document Security サービスに登録しておく必要があります。透かしを登録した後、その透かしをポリシー内で使用できます。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

PDF ドキュメントへのポリシーの適用

Java API を使用して透かしを作成 create-watermarks-using-the-java-api

Document Security API(Java)を使用して透かしを作成します。

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

    クライアント JAR ファイルを含める ( 例: adobe-rightsmanagement-client.jarJava プロジェクトのクラスパスに含まれます。

  2. Document Security Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して RightsManagementClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. 透かし属性を設定

    • の作成 Watermark を呼び出すことによって、オブジェクトを InfomodelObjectFactory オブジェクトの静的 createWatermark メソッド。 このメソッドは、Watermark オブジェクトを返します。
    • を呼び出して、透かしの名前属性を設定します。 Watermark オブジェクトの setName メソッドを使用し、ポリシー名を指定する string 値を渡す。
    • を呼び出して、透かしの背景属性を設定します。 Watermark オブジェクトの setBackground メソッドとパス true. この属性を設定すると、透かしがドキュメントの背景に表示されます。
    • を呼び出して、透かしのカスタムテキスト属性を設定する Watermark オブジェクトの setCustomText メソッドを使用して透かしのテキストを表す string 値を渡すことができます。
    • 透かしの不透明度アトリビュートを設定するには、 Watermark オブジェクトの setOpacity メソッドを使用し、不透明度レベルを指定する整数値を渡す。 値 100 は透かしが完全に不透明であることを示し、値 0 は透かしが完全に透明であることを示します。
  4. 透かしを登録します。

    • の作成 WatermarkManager を呼び出すことによって、オブジェクトを RightsManagementClient オブジェクトの getWatermarkManager メソッド。 このメソッドは、WatermarkManager オブジェクトを返します。
    • を呼び出して透かしを登録します。 WatermarkManager オブジェクトの registerWatermark メソッドおよび Watermark 登録する透かしを表すオブジェクト。 このメソッドは、透かしの識別値を表す string 値を返します。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用した透かしの作成」

Web サービス API を使用した透かしの作成 create-watermarks-using-the-web-service-api

Document Security API(web サービス)を使用して透かしを作成します。

  1. Document Security Client API オブジェクトを作成します。

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して RightsManagementServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • RightsManagementServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を RightsManagementServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。

  3. 透かしの属性を設定します。

    • WatermarkSpec コンストラクターを呼び出して WatermarkSpec オブジェクトを作成します。
    • 透かしの名前を設定するには、 WatermarkSpec オブジェクトの name データメンバー。
    • 透かしの id 属性を設定するために、 WatermarkSpec オブジェクトの id データメンバー。
    • 設定する透かしプロパティごとに、個別の MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトを作成します。
    • キーの値を設定するには、 MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトの key データメンバー ( 例: WaterBackCmd:OPACITY).
    • に値を割り当てて値を設定 MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトの value データメンバー ( 例: .25) をクリックします。
    • MyArrayOf_xsd_anyType オブジェクトを作成します。次ごとに MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクト、を呼び出す MyArrayOf_xsd_anyType オブジェクトの Add メソッド。 MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトを渡します。
    • 割り当て MyArrayOf_xsd_anyType オブジェクトを WatermarkSpec オブジェクトの values データメンバー。
  4. 透かしを登録します。

    を呼び出して透かしを登録します。 RightsManagementServiceClient オブジェクトの registerWatermark メソッドおよび WatermarkSpec 登録する透かしを表すオブジェクト。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した透かしの作成」
  • 「クイックスタート(SwaRef):Web サービス API を使用した透かしの作成」

関連トピック

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

透かしの変更 modifying-watermarks

既存の透かしは、Document Security Java API または web サービス API を使用して変更できます。既存の透かしを変更するには、その透かしを取得し、その属性を変更して、サーバー上で更新します。 例えば、透かしを取得し、その不透明度属性を変更する場合を考えます。変更を有効にするには、透かしを更新する必要があります。

透かしを変更すると、変更後にその透かしを適用したドキュメントに変更内容が反映されます。つまり、透かしを含む既存の PDF ドキュメントは影響を受けません。

NOTE
透かしを変更できるのは、Document Security 管理者権限を持つユーザーだけです。つまり、Document Security サービスクライアントオブジェクトの作成に必要な接続設定を定義する際には、このようなユーザーを指定する必要があります。
NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-9

透かしを変更するには、次の手順に従います。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. 変更する透かしを取得します。
  4. 透かし属性を設定します。
  5. 透かしを更新します。

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

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

Document Security Client API オブジェクトの作成

Document Security サービスの操作をプログラムで実行するには、事前に Document Security サービスのクライアントオブジェクトを作成する必要があります。Java API を使用している場合は、DocumentSecurityClient オブジェクトを作成します。Document Security web サービス API を使用している場合は、DocumentSecurityServiceService オブジェクトを作成します。

変更する透かしを取得します

透かしを変更するには、既存の透かしを取得する必要があります。名前を指定するか、識別子の値を指定し、透かしを取得することができます。

透かし属性の設定

既存の透かしを変更するには、1 つ以上の透かし属性の値を変更します。Web サービスを使用してプログラムによって透かしを更新する場合、値が変更されなくても、元々設定されていたすべての属性を設定する必要があります。 例えば、次の透かし属性が設定されているとします。WaterBackCmd:IS_USERID_ENABLEDWaterBackCmd:IS_CUSTOMTEXT_ENABLEDWaterBackCmd:OPACITY および WaterBackCmd:SRCTEXT です。変更する属性は WaterBackCmd:OPACITY のみですが、他の値も正常に設定する必要があります。

NOTE
Java API を使用して透かしを変更する場合、すべての属性を指定する必要はありません。変更する透かし属性を設定します。
NOTE
透かしの属性の名前について詳しくは、透かしの作成を参照してください。

透かしの更新

透かしの属性を変更した後、透かしを更新する必要があります。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

透かしの作成

Java API を使用した透かしの変更 modify-watermarks-using-the-java-api

Document Security API(Java)を使用して透かしを変更します。

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

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

  2. Document Security Client API オブジェクトを作成します。

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して DocumentSecurityClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. 変更する透かしを取得します。

    の作成 WatermarkManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getWatermarkManager メソッドを使用して透かしの名前を指定する string 値を渡します。 このメソッドは、変更する透かしを表す Watermark オブジェクトを返します。

  4. 透かしの属性を設定します。

    透かしの不透明度アトリビュートを設定するには、 Watermark オブジェクトの setOpacity メソッドを使用し、不透明度レベルを指定する整数値を渡す。 値 100 は透かしが完全に不透明であることを示し、値 0 は透かしが完全に透明であることを示します。

    note note
    NOTE
    次の使用例では、不透明度の属性のみを変更します。
  5. 透かしを更新します。

    • を呼び出して透かしを更新する WatermarkManager オブジェクトの updateWatermark メソッドを使用して、 Watermark 属性が変更されたオブジェクト。

コード例

Document Security サービスを使用するコード例については、「クイックスタート(SOAP モード):Java API を使用した透かしの変更」の説を参照してください。

Web サービス API を使用した透かしの変更 modify-watermarks-using-the-web-service-api

Document Security API(web サービス)を使用して透かしを変更します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して RightsManagementServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/DocumentSecurityService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • DocumentSecurityServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DocumentSecurityServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。

  3. 変更する透かしを取得します。

    を呼び出して、変更する透かしを取得します。 DocumentSecurityServiceClient オブジェクトの getWatermarkByName メソッド。 透かしの名前を指定する文字列値を渡します。このメソッドは、変更する透かしを表す WatermarkSpec オブジェクトを返します。

  4. 透かしの属性を設定します。

    • 更新する透かしプロパティごとに、個別に MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトを作成します。
    • キーの値を設定するには、 MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトの key データメンバー ( 例: WaterBackCmd:OPACITY).
    • に値を割り当てて値を設定 MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトの value データメンバー ( 例: .50) をクリックします。
    • MyArrayOf_xsd_anyType オブジェクトを作成します。次ごとに MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクト、を呼び出す MyArrayOf_xsd_anyType オブジェクトの Add メソッド。 MyMapOf_xsd_string_To_xsd_anyType_Item オブジェクトを渡します。
    • 割り当て MyArrayOf_xsd_anyType オブジェクトを WatermarkSpec オブジェクトの values データメンバー。
  5. 透かしを更新します。

    を呼び出して透かしを更新する DocumentSecurityServiceClient オブジェクトの updateWatermark メソッドおよび WatermarkSpec 変更する透かしを表すオブジェクト。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した透かしの変更」

イベントの検索 searching-for-events

Rights Management サービスは、ドキュメントへのポリシーの適用、ポリシーで保護されたドキュメントを開く処理、ドキュメントへのアクセス権限の失効などといった特定のアクションの発生を追跡します。Rights Management サービスに対してイベント監査を有効にする必要があります。そうしないと、イベントが追跡されません。

イベントは、次のいずれかのカテゴリに分類されます。

  • 管理者イベントは、管理者アカウントの作成など、管理者に関連するアクションです。
  • ドキュメントイベントは、ポリシーで保護されたドキュメントを閉じるなど、ドキュメントに関連するアクションです。
  • ポリシーイベントは、ポリシーの作成など、ポリシーに関連するアクションです。
  • サービスイベントは、ユーザーディレクトリとの同期など、Rights Management サービスに関連するアクションです。

Rights Management Java API または web サービス API を使用して、特定のイベントを検索できます。イベントを検索することで、特定のイベントのログファイル作成などといったタスクを実行できます。

NOTE
Rights Management サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-10

Rights Management イベントを検索するには、次の手順を実行します。

  1. プロジェクトファイルを含めます。
  2. Rights Management Client API オブジェクトを作成します。
  3. 検索するイベントを指定します。
  4. イベントを検索します。

プロジェクトファイルの組み込み

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

Rights Management Client API オブジェクトの作成

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

検索するイベントの指定

検索するイベントを指定します。 例えば、新しいポリシーの作成時に発生するポリシー作成イベントを検索できます。

イベントの検索

検索するイベントを指定した後、Rights Management Java API または Rights Management web サービス API を使用して、イベントを検索できます。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Java API を使用したイベントの検索 search-for-events-using-the-java-api

Rights Management API(Java)を使用してイベントを検索します。

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

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

  2. Rights Management クライアント API オブジェクトの作成

    コンストラクターを使用し、接続プロパティが格納される ServiceClientFactory オブジェクトを渡すことにより、DocumentSecurityClient オブジェクトを作成します。

  3. 検索するイベントの指定

    • の作成 EventManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getEventManager メソッド。 このメソッドは EventManager オブジェクトを返します。
    • コンストラクターを呼び出して EventSearchFilter オブジェクトを作成します。
    • を呼び出して検索するイベントを指定します。 EventSearchFilter オブジェクトの setEventCode メソッドを使用して、 EventManager 検索するイベントを表すクラス。 例えば、ポリシー作成イベントを検索するには、EventManager.POLICY_CREATE_EVENT を渡します。
    note note
    NOTE
    EventSearchFilter オブジェクトメソッドを呼び出して、追加の検索条件を定義します。例えば、setUserName メソッドを呼び出して、イベントに関連付けられているユーザーを指定します。
  4. イベントの検索

    を呼び出してイベントを検索する EventManager オブジェクトの searchForEvents メソッドおよび EventSearchFilter イベントの検索条件を定義するオブジェクト。 このメソッドは、 Event オブジェクトの配列を返します。

コード例

Rights Management サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP):Java API を使用したイベントの検索」

Web サービス API を使用したイベントの検索 search-for-events-using-the-web-service-api

Rights Management API(web サービス)を使用してイベントを検索します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置換します。
  2. Rights Management クライアント API オブジェクトの作成

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して DocumentSecurityServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • DocumentSecurityServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DocumentSecurityServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。

  3. 検索するイベントの指定

    • コンストラクターを使用して EventSpec オブジェクトを作成します。
    • イベントが発生した期間の開始を指定するには、 EventSpec オブジェクトの firstTime.date 次を持つデータメンバー DataTime イベントが発生した日付範囲の開始を表すインスタンス。
    • 値を割り当て true から EventSpec オブジェクトの firstTime.dateSpecified データメンバー。
    • イベントが発生した期間の終わりを指定するには、 EventSpec オブジェクトの lastTime.date 次を持つデータメンバー DataTime イベントが発生した日付範囲の終わりを表すインスタンス。
    • 値を割り当て true から EventSpec オブジェクトの lastTime.dateSpecified データメンバー。
    • 検索するイベントを設定するには、 EventSpec オブジェクトの eventCode データメンバー。 次の表に、このプロパティに割り当てることができる数値を示します。
    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 16-row-2 17-row-2 18-row-2 19-row-2 20-row-2 21-row-2 22-row-2 23-row-2 24-row-2 25-row-2 26-row-2 27-row-2 28-row-2 29-row-2 30-row-2 31-row-2 32-row-2 33-row-2 34-row-2 35-row-2 36-row-2 37-row-2 38-row-2 39-row-2 40-row-2 41-row-2 42-row-2 43-row-2 44-row-2 45-row-2 46-row-2 47-row-2
    イベントタイプ
    ALL_EVENTS 999
    USER_CHANGE_PASSWORD_EVENT 1000
    USER_REGISTER_EVENT 1001
    USER_PREREGISTER_EVENT 1002
    USER_ACTIVATE_EVENT 1003
    USER_DEACTIVATE_EVENT 1004
    USER_AUTHENTICATE_EVENT 1005
    USER_AUTHENTICATE_DENY_EVENT 1006
    USER_ACCOUNT_LOCK_EVENT 1007
    USER_DELETE_EVENT 1008
    USER_UPDATE_PROFILE_EVENT 1009
    DOCUMENT_VIEW_EVENT 2,000
    DOCUMENT_PRINT_LOW_EVENT 2001
    DOCUMENT_PRINT_HIGH_EVENT 2002
    DOCUMENT_SIGN_EVENT 2003
    DOCUMENT_ADD_ANNOTATION_EVENT 2004
    DOCUMENT_FORM_FILL_EVENT 2005
    DOCUMENT_CLOSE_EVENT 2006
    DOCUMENT_MODIFY_EVENT 2007
    DOCUMENT_CHANGE_SECURITY_HANDLER_EVENT 2008
    DOCUMENT_SWITCH_POLICY_EVENT 2009
    DOCUMENT_REVOKE_EVENT 2010
    $1 2011
    DOCUMENT_SECURE_EVENT 2012
    DOCUMENT_UNKNOWN_CLIENT_EVENT 2013
    DOCUMENT_CHANGE_REVOKE_URL_EVENT 2014
    POLICY_CHANGE_EVENT 3000
    POLICY_ENABLE_EVENT 3001
    POLICY_DISABLE_EVENT 3002
    POLICY_CREATE_EVENT 3003
    POLICY_DELETE_EVENT 3004
    POLICY_CHANGE_OWNER_EVENT 3005
    SERVER_CLIENT_SYNC_EVENT 4000
    SERVER_SYNC_DIR_INFO_EVENT 4001
    SERVER_SYNC_DIR_COMPLETE_EVENT 4002
    SERVER_VERSION_MISMATCH_EVENT 4003
    SERVER_CONFIG_CHANGE_EVENT 4004
    SERVER_ENABLE_OFFLINE_ACCESS_EVENT 4005
    ADMIN_ADD_EVENT 5,000
    ADMIN_DELETE_EVENT 5001
    ADMIN_EDIT_EVENT 5002
    ADMIN_ACTIVATE_EVENT 5003
    ADMIN_DEACTIVATE_EVENT 5004
    ERROR_DIRECTORY_SERVICE_EVENT 6000
    CREATED_POLICYSET_EVENT 7000
    DELETED_POLICYSET_EVENT 7001
    MODIFIED_POLICYSET_EVENT 7002
  4. イベントの検索

    を呼び出してイベントを検索する DocumentSecurityServiceClient オブジェクトの searchForEvents メソッドおよび EventSpec 検索するイベントと結果の最大数を表すオブジェクト。 このメソッドは、MyArrayOf_xsd_anyType のコレクション(個々の要素はそれぞれ 1 つの AuditSpec インスタンスに相当します)を返します。AuditSpec インスタンスを使用して、発生した時刻など、イベントに関する情報を取得できます。AuditSpec インスタンスには、この情報を指定する timestamp データメンバーが含まれます。

コード例

Rights Management サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「Quick Start(MTOM):Web サービス API を使用したイベントの検索」
  • 「Quick Start(SwaRef):Web サービス API を使用したイベントの検索」

関連トピック

MTOM を使用した AEM Forms の呼び出し

SwaRef を使用した AEM Forms の呼び出し

Word ドキュメントへのポリシーの適用 applying-policies-to-word-documents

Rights Management サービスでは、PDF ドキュメント以外に、Microsoft Word ドキュメント(DOC ファイル)やその他の Micosoft Office ファイルフォーマットなどのドキュメント形式もサポートしています。例えば、Word 文書にポリシーを適用して保護することができます。 Word のドキュメントにポリシーを適用することにより、ドキュメントへのアクセスを制限することができます。ドキュメントを保護しているポリシーが既にある場合は、このドキュメントにポリシーを適用することはできません。

ポリシーで保護された Word ドキュメントを配布すると、そのドキュメントの使用状況を監視できます。つまり、ドキュメントが誰によって、どのように使用されているかを確認できるということです。例えば、誰かがそのドキュメントを開いた日時を知ることができます。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-11

Word ドキュメントにポリシーを適用する場合は、次の手順に従ってください。

  1. プロジェクトファイルを含めます。
  2. Document Security Client API オブジェクトを作成します。
  3. ポリシーを適用する Word ドキュメントを取得します。
  4. Word ドキュメントに既存のポリシーを適用します。
  5. ポリシーで保護された Word ドキュメントを保存します。

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

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

Document Security Client API オブジェクトを作成する

Document Security サービスの操作をプログラムで実行する前に、Document Security サービスのクライアントオブジェクトを作成する必要があります。

Word ドキュメントを取得する

ポリシーを適用する Word ドキュメントを取得します。 Word ドキュメントにポリシーを適用すると、ユーザーはそのドキュメントを使用するときに制限を受けます。例えば、ドキュメントをオフラインで開くことができないようポリシーで定められている場合、ユーザーがドキュメントを開くにはオンラインである必要があります。

既存のポリシーを Word ドキュメントに適用する

Word ドキュメントにポリシーを適用するには、既存のポリシーを参照し、そのポリシーが属するポリシーセットを指定する必要があります。接続プロパティを設定するユーザーは、指定したポリシーにアクセスできる必要があります。 できない場合は、例外が発生します。

Word ドキュメントを保存する

Document Security サービスによって Word ドキュメントにポリシーが適用されたら、ポリシーで保護された Word ドキュメントを DOC ファイルとして保存できます。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

ドキュメントへのアクセス権の失効

Java API を使用して Word ドキュメントにポリシーを適用する apply-a-policy-to-a-word-document-using-the-java-api

Document Security API(Java)を使用して、Word ドキュメントにポリシーを適用します。

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

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

  2. Document Security Client API オブジェクトを作成します。

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

    • コンストラクターを使用して Word ドキュメントの場所を指定する文字列値を渡すことによって、Word ドキュメントを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. Word ドキュメントに既存のポリシーを適用します。

    • の作成 DocumentManager を呼び出すことによって、オブジェクトを DocumentSecurityClient オブジェクトの getDocumentManager メソッド。

    • を呼び出して、Word ドキュメントにポリシーを適用する DocumentManager オブジェクトの protectDocument メソッドを使用して、次の値を渡します。

      • ポリシーが適用される Word ドキュメントを含む com.adobe.idp.Document オブジェクト。
      • ドキュメントの名前を指定する文字列値。
      • ポリシーが属しているポリシーセットの名前を表す文字列値。null 値を指定すると、MyPolicies ポリシーセットが使用されます。
      • ポリシー名を指定する文字列値。
      • ドキュメントのパブリッシャーであるユーザーのユーザーマネージャードメインの名前を表す文字列値。このパラメーターの値はオプションであり、null にすることができます(このパラメーターが null の場合、次のパラメーターの値も null にする必要があります)。
      • ドキュメントのパブリッシャーであるユーザーマネージャーユーザーの正規名の名前を表す文字列値。このパラメーター値はオプションであり、 null にすることができます(このパラメーターが null の場合、前のパラメーター値も null である必要があります)。
      • MS Office テンプレートの選択に使用されるロケールを表す com.adobe.livecycle.rightsmanagement.Locale。このパラメーター値はオプションであり、null を指定できます。

      protectDocument メソッドは、ポリシーで保護された Word ドキュメントを含む RMSecureDocumentResult オブジェクトを返します。

  5. Word ドキュメントを保存します。

    • を呼び出す RMSecureDocumentResult オブジェクトの getProtectedDoc メソッドを使用して、ポリシーで保護された Word ドキュメントを取得します。 このメソッドは com.adobe.idp.Document オブジェクトを返します。
    • java.io.File オブジェクトを作成し、ファイル拡張子が DOC であることを確認します。
    • を呼び出す com.adobe.idp.Document オブジェクトの copyToFile メソッドを使用して、 Document オブジェクトをファイルに追加します ( Document が返したオブジェクト getProtectedDoc メソッド )。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用した Word ドキュメントへのポリシーの適用」

Web サービス API を使用して Word ドキュメントにポリシーを適用する apply-a-policy-to-a-word-document-using-the-web-service-api

Document Security API(web サービス)を使用して、Word ドキュメントにポリシーを適用します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置き換えます。
  2. Document Security Client API オブジェクトを作成します。

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して DocumentSecurityServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/DocumentSecurityService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • DocumentSecurityServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を DocumentSecurityServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnlyBasicHttpBindingSecurity.Security.Mode フィールドに割り当てます。

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

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

    を呼び出して、Word ドキュメントにポリシーを適用する DocumentSecurityServiceClient オブジェクトの protectDocument メソッドを使用して、次の値を渡します。

    • ポリシーが適用される Word ドキュメントを含む BLOB オブジェクト。
    • ドキュメントの名前を指定する文字列値。
    • ポリシーが属しているポリシーセットの名前を表す文字列値。null 値を指定すると、MyPolicies ポリシーセットが使用されます。
    • ポリシー名を指定する文字列値。
    • ドキュメントのパブリッシャーであるユーザーのユーザーマネージャードメインの名前を表す文字列値。このパラメーター値はオプションであり、null にすることができます(このパラメーターが null の場合、次のパラメーター値は null である必要があります)。
    • ドキュメントのパブリッシャーであるユーザーマネージャーユーザーの正規名の名前を表す文字列値。このパラメーター値はオプションであり、null にすることができます(このパラメーターが null の場合、前のパラメーター値は null である必要があります)。
    • ロケール値を指定する RMLocale 値(例: RMLocale.en)。
    • ポリシー識別子の値を格納するために使用される文字列出力パラメーター。
    • ポリシーで保護された識別子の値を保存するために使用される文字列出力パラメーター。
    • MIME タイプを格納するのに使用する文字列出力パラメーター(例えば、application/doc)。

    protectDocument メソッドは、ポリシーで保護された Word ドキュメントを含む BLOB オブジェクトを返します。

  5. Word ドキュメントを保存します。

    • コンストラクターを呼び出し、ポリシーで保護された Word ドキュメントファイルの場所を表す 文字列値を渡すことにより、System.IO.FileStream オブジェクトを作成します。
    • protectDocument メソッドによって返された BLOB オブジェクトのデータコンテンツを格納するバイト配列を作成します。バイト配列を生成するには、 BLOB オブジェクトの MTOM データメンバー。
    • コンストラクターを呼び出して System.IO.FileStream オブジェクトを渡すことによって、System.IO.BinaryWriter オブジェクトを作成します。
    • バイト配列の内容を Word ファイルに書き込むには、 System.IO.BinaryWriter オブジェクトの Write メソッドを使用してバイト配列を渡す。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した Word ドキュメントへのポリシーの適用」

Word ドキュメントからのポリシーの削除 removing-policies-from-word-documents

ポリシーで保護された Word ドキュメントからポリシーを削除して、ドキュメントからセキュリティを削除できます。 つまり、ドキュメントをポリシーで保護したくない場合です。ポリシーで保護された Word ドキュメントを新しいポリシーで更新する場合は、ポリシーを削除して更新したポリシーを追加するのではなく、ポリシーを切り替える方が効率的です。

NOTE
Document Security サービスについて詳しくは、AEM Forms のサービスリファレンスを参照してください。

手順の概要 summary_of_steps-12

ポリシーで保護された Word ドキュメントからポリシーを削除するには、次の手順を実行します。

  1. プロジェクトファイルを含める
  2. Document Security Client API オブジェクトを作成します。
  3. ポリシーで保護された Word ドキュメントを取得します。
  4. Word ドキュメントからポリシーを削除します。
  5. 保護されていない Word ドキュメントを保存します。

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

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

ドキュメントセキュリティクライアント API オブジェクトを作成

Document Security サービスの操作をプログラムで実行する前に、Document Security サービスのクライアントオブジェクトを作成します。

ポリシーで保護された Word ドキュメントを取得

ポリシーで保護された Word ドキュメントを取得して、ポリシーを削除します。 ポリシーで保護されていない Word ドキュメントからポリシーを削除しようとすると、例外が発生します。

Word ドキュメントからポリシーを削除

接続設定で管理者が指定されている場合は、ポリシーで保護された Word ドキュメントからポリシーを削除できます。そうでない場合、ドキュメントの保護に使用するポリシーには、 SWITCH_POLICY Word ドキュメントからポリシーを削除する権限です。 また、AEM Forms 接続設定で指定したユーザーにも、その権限が必要です。それ以外の場合は、例外がスローされます。

保護されていない Word ドキュメントを保存

Document Security サービスで Word ドキュメントからポリシーを削除した後、保護されていない Word ドキュメントを DOC ファイルとして保存できます。

関連トピック

AEM Forms Java ライブラリファイルの組み込み

接続プロパティの設定

Word ドキュメントへのポリシーの適用

Java API を使用して Word ドキュメントからポリシーを削除 remove-a-policy-from-a-word-document-using-the-java-api

Document Security API(Java) を使用して、ポリシーで保護された Word ドキュメントからポリシーを削除します。

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

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

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

    • 接続プロパティを含む ServiceClientFactory オブジェクトを作成します。
    • コンストラクタを使用して RightsManagementClient オブジェクトを渡すことによって、ServiceClientFactory オブジェクトを作成します。
  3. ポリシーで保護された Word ドキュメントの取得

    • コンストラクターを使用して、Word ドキュメントの場所を指定する文字列値を渡すことにより、ポリシーで保護された Word ドキュメントを表す java.io.FileInputStream オブジェクトを作成します。
    • コンストラクタを使用して com.adobe.idp.Document オブジェクトを渡すことによって、java.io.FileInputStream オブジェクトを作成します。
  4. Word ドキュメントからポリシーを削除する

    • の作成 DocumentManager を呼び出すことによって、オブジェクトを RightsManagementClient オブジェクトの getDocumentManager メソッド。
    • を呼び出して、Word ドキュメントからポリシーを削除する DocumentManager オブジェクトの removeSecurity メソッドおよび com.adobe.idp.Document ポリシーで保護された Word ドキュメントを含むオブジェクト。 このメソッドは、セキュリティで保護されていない Word ドキュメントを含む com.adobe.idp.Document オブジェクトを返します。
  5. 保護されていない Word ドキュメントを保存する

    • java.io.File オブジェクトを作成し、ファイル拡張子が DOC であることを確認します。
    • を呼び出す Document オブジェクトの copyToFile メソッドを使用して、 Document オブジェクトをファイルに追加します ( Document が返したオブジェクト removeSecurity メソッド )。

コード例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(SOAP モード):Java API を使用した Word ドキュメントからのポリシーの削除 」

Web サービス API を使用して Word ドキュメントからポリシーを削除 remove-a-policy-from-a-word-document-using-the-web-service-api

Document Security API(web サービス)を使用して、ポリシーで保護された Word ドキュメントからポリシーを削除します。

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

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

    note note
    NOTE
    localhost を、AEM Forms をホストするサーバーの IP アドレスに置換します。
  2. Document Security Client API オブジェクトの作成

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

    • System.ServiceModel.EndpointAddress コンストラクターを使用して RightsManagementServiceClient.Endpoint.Address オブジェクトを作成します。WSDL を指定する文字列値を AEM Forms サービスに渡します(例:http://localhost:8080/soap/services/RightsManagementService?WSDL)。lc_version 属性を使用する必要はありません。この属性は、サービス参照を作成する際に使用されます。

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

    • を設定します。 System.ServiceModel.BasicHttpBinding オブジェクトの MessageEncoding ~に向かって WSMessageEncoding.Mtom. この値により、MTOM が確実に使用されます。

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

      • RightsManagementServiceClient.ClientCredentials.UserName.UserName フィールドに AEM Forms ユーザー名を割り当てます。
      • 対応するパスワード値を RightsManagementServiceClient.ClientCredentials.UserName.Password フィールドに割り当てます。
      • 定数値 HttpClientCredentialType.BasicBasicHttpBindingSecurity.Transport.ClientCredentialType フィールドに割り当てます。
    • 定数値 BasicHttpSecurityMode.TransportCredentialOnly をフィールド BasicHttpBindingSecurity.Security.Mode に割り当てます。

  3. ポリシーで保護された Word ドキュメントの取得

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

    を呼び出して、Word ドキュメントからポリシーを削除します。 RightsManagementServiceClient オブジェクトの removePolicySecurity メソッドおよび BLOB ポリシーで保護された Word ドキュメントを含むオブジェクト。 このメソッドは、セキュリティで保護されていない Word ドキュメントを含む BLOB オブジェクトを返します。

  5. 保護されていない Word ドキュメントを保存する

    • コンストラクターを呼び出し、保護されていない Word ドキュメントを含むファイルの場所を表す文字列値を渡すことにより、System.IO.FileStream オブジェクトを作成します。
    • removePolicySecurity メソッドで返された BLOB オブジェクトのデータコンテンツを格納するバイト配列を作成します。バイト配列を生成するには、 BLOB オブジェクトの MTOM フィールドに入力します。
    • コンストラクターを呼び出し、System.IO.FileStream オブジェクトを渡すことにより、System.IO.BinaryWriter オブジェクトを作成します。

コードの例

Document Security サービスを使用するコード例については、次のクイックスタートを参照してください。

  • 「クイックスタート(MTOM):Web サービス API を使用した Word ドキュメントからのポリシーの削除」

関連トピック

MTOM を使用した AEM Forms の呼び出し

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2