關於檔案安全性服務
檔案安全性服務可讓使用者動態地將機密設定套用至Adobe PDF檔案,並維持對檔案的控制,無論檔案的分送範圍有多廣。
「檔案安全性」服務可讓使用者對收件者使用受原則保護PDF檔案的方式維持控制,以防止資訊擴散到使用者的範圍以外。 用戶可以指定誰可以開啟文檔、限制他們如何使用文檔,以及在分發文檔後監視文檔。 用戶還可以動態地控制對受策略保護文檔的訪問,甚至可以動態地撤銷對文檔的訪問。
Document Security服務還保護其他檔案類型,如Microsoft Word檔案(DOC檔案)。 您可以使用Document Security Client API來處理這些檔案類型。 支援下列版本:
為了更明確,以下兩節將討論如何使用Word文檔:
您可以使用Document Security服務完成以下任務:
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
您可以使用Document Security Java API或網站服務API,以程式設計方式建立原則。 policy是包含文檔安全設定、授權用戶和使用權限的資訊的集合。 您可以使用適合不同情況和用戶的安全設定來建立和保存任意數量的策略。
策略使您可以執行以下任務:
使用Web服務API建立策略時,請參考描述該策略的現有可移植文檔權限語言(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>
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要建立策略,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
必須將以下JAR檔案添加到項目的類路徑中:
有關這些JAR檔案的位置的資訊,請參閱包括AEM Forms Java庫檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,請建立Document Security服務客戶端對象。
設定策略的屬性
要建立策略,請設定策略屬性。 策略名稱是強制屬性。 每個策略集的策略名稱必須是唯一的。 策略集只是策略的集合。 如果策略屬於不同的策略集,則可以有兩個具有相同名稱的策略。 但是,單個策略集中的兩個策略不能具有相同的策略名稱。
要設定的另一個有用屬性是有效期。 有效期是指受策略保護的文檔可被授權的收件人訪問的時間段。 如果未設定此屬性,則策略始終有效。
有效期可設為下列其中一個選項:
您可以只指定開始日期,這會導致策略在開始日期之後有效。 如果只指定結束日期,則策略的有效期到結束日期為止。 但是,如果未定義開始日期和結束日期,則會擲回例外。
設定屬於策略的屬性時,還可以設定加密設定。 將策略應用於文檔時,這些加密設定將生效。 您可以指定下列加密值:
指定NoEncryption
選項時,不能將PlaintextMetadata
選項設定為false
。 如果嘗試執行此操作,則會擲回例外。
如需可設定的其他屬性的相關資訊,請參閱AEM Forms API參考中的Policy
介面說明。
建立策略項
策略項會將主體(即組和用戶)和權限附加到策略。 策略必須至少包含一個策略條目。 例如,假設您執行下列工作:
這些操作導致收件者只能聯機查看文檔,無法複製文檔。 在從文檔中刪除安全性之前,該文檔將保持安全。
註冊策略
必須先註冊新策略,才能使用它。 註冊策略後,您可以使用它來保護文檔。
使用Document Security API(Java)建立策略:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立DocumentSecurityClient
物件。設定策略的屬性。
InfomodelObjectFactory
對象的靜態createPolicy
方法,建立Policy
對象。 此方法會傳回Policy
物件。Policy
對象的setName
方法並傳遞指定策略名稱的字串值,以設定策略的名稱屬性。Policy
對象的setDescription
方法並傳遞指定策略說明的字串值,以設定策略的說明。Policy
對象的setPolicySetName
方法並傳遞指定策略集名稱的字串值來設定新策略所屬的策略集。 (可以為此參數值指定null
,該參數值導致將策略添加到My Policies策略集中。)InfomodelObjectFactory
對象的靜態createValidityPeriod
方法,建立策略的有效期。 此方法會傳回ValidityPeriod
物件。ValidityPeriod
對象的setRelativeExpirationDays
方法並傳遞一個指定天數的整數值,設定可訪問受策略保護文檔的天數。Policy
對象的setValidityPeriod
方法並傳遞ValidityPeriod
對象,以設定策略的有效期。建立策略項。
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
對象,將策略項添加到策略中。註冊策略。
調用DocumentSecurityClient
對象的getPolicyManager
方法,建立PolicyManager
對象。
調用PolicyManager
對象的registerPolicy
方法並傳遞以下值來註冊策略:
Policy
對象。表示策略所屬策略集的字串值。
如果在連接設定中使用AEM Forms管理員帳戶建立DocumentSecurityClient
對象,請在調用registerPolicy
方法時指定策略集名稱。 如果傳遞策略集的null
值,則在管理員My Policies策略集中建立策略。
如果在連接設定中使用「文檔安全性」用戶,則可以調用僅接受策略的多載registerPolicy
方法。 也就是說,您不需要指定策略集名稱。 但是,將策略添加到名為My Policies的策略集。 如果不想將新策略添加到此策略集,請在調用registerPolicy
方法時指定策略集名稱。
建立策略時,請參考現有策略集。 如果指定的策略集不存在,則會引發異常。
如需使用Document Security服務的程式碼範例,請參閱下列內容:
使用Document Security API(web服務)建立策略:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。RightsManagementServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
設定策略的屬性。
PolicySpec
物件。PolicySpec
對象的name
資料成員分配字串值來設定策略的名稱。PolicySpec
對象的description
資料成員分配字串值,以設定策略的說明。PolicySpec
對象的policySetName
資料成員分配字串值,設定策略將屬於的策略集。 必須指定現有策略集名稱。 (您可以為此參數值指定null
,該參數值導致將策略添加到My Policies中。)PolicySpec
對象的offlineLeasePeriod
資料成員分配整數值,以設定策略的離線租用期。PolicySpec
對象的policyXml
資料成員。 要執行此任務,請使用其建構子建立.NET StreamReader
對象。 將表示策略的PDRL XML檔案的位置傳遞到StreamReader
建構子。 接下來,調用StreamReader
對象的ReadLine
方法,並將返回值指派給字串變數。 對StreamReader
對象進行迭代,直到ReadLine
方法返回null。 將字串變數指派給PolicySpec
物件的policyXml
資料成員。建立策略項。
使用Document Security Web服務API建立策略時,不需要建立策略項。 策略項在PDRL文檔中定義。
註冊策略。
調用DocumentSecurityServiceClient
對象的registerPolicy
方法並傳遞以下值來註冊策略:
PolicySpec
對象。null
值,該值導致策略被添加到MyPolices策略集。如果在連接設定中使用AEM Forms管理員帳戶建立DocumentSecurityClient
對象,請在調用registerPolicy
方法時指定策略集名稱。
如果在連接設定中使用Document SecurityDocument Security用戶,則可以調用僅接受策略的多載registerPolicy
方法。 也就是說,您不需要指定策略集名稱。 但是,將策略添加到名為My Policies的策略集。 如果不想將新策略添加到此策略集,請在調用registerPolicy
方法時指定策略集名稱。
建立策略並指定策略集時,請確保指定現有策略集。 如果指定的策略集不存在,則會引發異常。
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
您可以使用Document Security Java API或Web服務API修改現有策略。 要更改現有策略,請檢索該策略,修改該策略,然後更新伺服器上的策略。 例如,假設您檢索現有策略並延長其有效期。 在更改生效之前,必須更新策略。
當業務需求改變且策略不再反映這些需求時,您可以修改策略。 您不必建立新策略,只需更新現有策略即可。
要使用Web服務修改策略屬性(例如,使用使用JAX-WS建立的Java代理類),必須確保將策略註冊到Document Security服務中。 然後,可以使用PolicySpec.getPolicyXml
方法引用現有策略,並使用適用的方法修改策略屬性。 例如,可以通過調用PolicySpec.setOfflineLeasePeriod
方法來修改離線租用期。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要修改現有策略,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Securityservice操作之前,必須建立Document Security服務客戶端對象。 如果您使用Java API,請建立RightsManagementClient
物件。 如果您使用Document Security Web服務API,請建立RightsManagementServiceService
物件。
檢索現有策略
必須檢索現有策略才能修改它。 要檢索策略,請指定策略名稱和策略所屬的策略集。 如果為策略集名稱指定null
值,則從My Policies策略集檢索策略。
設定策略的屬性
要修改策略,請修改策略屬性的值。 唯一不能更改的策略屬性是名稱屬性。 例如,要更改策略的離線租用期,可以修改策略的離線租用期屬性值。
使用Web服務修改策略的離線租用期時,將忽略PolicySpec
介面上的offlineLeasePeriod
欄位。 要更新離線租用期,請修改PDRL XML文檔中的OfflineLeasePeriod
元素。 然後,使用PolicySpec
介面的policyXML
資料成員,參考更新的PDRL XML文檔。
如需可設定的其他屬性的相關資訊,請參閱AEM Forms API參考中的Policy
介面說明。
更新策略
在您對策略所做的更改生效之前,必須使用文檔安全服務更新策略。 對保護文檔的策略的更改將在下次與文檔安全服務同步受策略保護的文檔時更新。
使用Document Security API(Java)修改現有原則:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立RightsManagementClient
物件。檢索現有策略。
調用RightsManagementClient
對象的getPolicyManager
方法,建立PolicyManager
對象。
通過調用PolicyManager
對象的getPolicy
方法並傳遞以下值,建立代表要更新的策略的Policy
對象"
null
,以導致使用MyPolicies
策略集。設定策略的屬性。
更改策略的屬性以滿足您的業務需求。 例如,要更改策略的離線租用期,請調用Policy
對象的setOfflineLeasePeriod
方法。
更新策略。
調用PolicyManager
對象的updatePolicy
方法以更新策略。 傳遞代表要更新的策略的Policy
對象。
程式碼範例
有關使用Document Security服務的代碼示例,請參閱快速入門(SOAP模式):使用Java API部分修改策略。
使用Document Security API(web服務)修改現有策略:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。RightsManagementServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索現有策略。
通過調用RightsManagementServiceClient
對象的getPolicy
方法並傳遞以下值,建立代表要修改的策略的PolicySpec
對象:
null
,以導致使用MyPolicies
策略集。設定策略的屬性。
更改策略的屬性以滿足您的業務需求。
更新策略。
通過調用RightsManagementServiceClient
對象的updatePolicyFromSDK
方法並傳遞代表要更新的策略的PolicySpec
對象來更新策略。
程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
您可以使用Document Security Java API或Web服務API刪除現有策略。 刪除策略後,將無法再用於保護文檔。 但是,使用策略的現有受策略保護文檔仍受到保護。 當有較新的策略可用時,您可以刪除策略。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要刪除現有策略,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,必須建立Document Security服務客戶端對象。 如果您使用Java API,請建立RightsManagementClient
物件。 如果您使用Document Security Web服務API,請建立RightsManagementServiceService
物件。
刪除策略
要刪除策略,請指定要刪除的策略以及該策略所屬的策略集。 使用其設定來叫用AEM Forms的使用者必須擁有刪除原則的權限;否則會發生例外狀況。 同樣,如果嘗試刪除不存在的策略,則會發生異常。
使用Document Security API(Java)刪除策略:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立RightsManagementClient
物件。刪除策略。
調用RightsManagementClient
對象的getPolicyManager
方法,建立PolicyManager
對象。
調用PolicyManager
對象的deletePolicy
方法並傳遞以下值,以刪除策略:
null
,以導致使用MyPolicies
策略集。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
使用Document Security API(web服務)刪除策略:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。RightsManagementServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
刪除策略。
調用RightsManagementServiceClient
對象的deletePolicy
方法並傳遞以下值,以刪除策略:
null
,以導致使用MyPolicies
策略集。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
您可以將原則套用至PDF檔案,以保護檔案安全。 通過將策略應用於PDF文檔,可以限制對文檔的訪問。 如果文檔已使用策略進行了保護,則無法將策略應用到文檔。
在檔案開啟時,您也可以限制對Acrobat和Adobe Reader功能的存取,包括列印和複製文字、進行變更,以及為檔案新增簽名和註解的功能。 此外,當您不再希望用戶訪問該文檔時,可以撤銷受策略保護的PDF文檔。
在分發受策略保護的文檔後,您可以監視其使用情況。 也就是說,您可以看到檔案的使用方式,以及使用者。 例如,您可以找出有人何時開啟檔案。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要將策略應用於PDF文檔,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security Client API對象
在以寫程式方式執行Document Security服務操作之前,請建立Document Security服務客戶端對象。 如果您使用Java API,請建立DocumentSecurityClient
物件。 如果您使用Document Security Web服務API,請建立DocumentSecurityServiceService
物件。
檢索PDF文檔
您可以檢索PDF文檔以應用策略。 將策略應用到PDF文檔後,在使用該文檔時,用戶將受限。 例如,如果策略不允許離線時開啟文檔,則用戶必須聯機才能開啟文檔。
將現有策略應用於PDF文檔
要將策略應用到PDF文檔,請參考現有策略並指定策略所屬的策略集。 設定連接屬性的用戶必須具有對指定策略的訪問權限。 否則會發生例外。
儲存PDF檔案
檔案安全性服務將原則套用至PDF檔案後,您可以將受原則保護的PDF檔案儲存為PDF檔案。
另請參閱
使用Document Security API(Java)將原則套用至PDF檔案:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立RightsManagementClient
物件。檢索PDF文檔。
java.io.FileInputStream
對象。 傳遞指定PDF文檔位置的字串值。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。將現有策略應用於PDF文檔。
調用RightsManagementClient
對象的getDocumentManager
方法,建立DocumentManager
對象。
調用DocumentManager
對象的protectDocument
方法並傳遞以下值,將策略應用於PDF文檔:
com.adobe.idp.Document
對象,包含應用策略的PDF文檔。null
值,該值導致使用MyPolicies
策略集。null
(如果此參數為null,則上一個參數值必須為null
)。com.adobe.livecycle.rightsmanagement.Locale
,表示用於選擇MS Office模板的區域設定。 此參數值為可選值,不用於PDF文檔。 要保護PDF文檔,請指定null
。protectDocument
方法返回包含受策略保護的PDF文檔的RMSecureDocumentResult
對象。
保存PDF文檔。
RMSecureDocumentResult
對象的getProtectedDoc
方法以獲取受策略保護的PDF文檔。 此方法會傳回com.adobe.idp.Document
物件。java.io.File
物件,並確定副檔名為PDF。com.adobe.idp.Document
對象的copyToFile
方法,將Document
對象的內容複製到檔案(確保使用getProtectedDoc
方法返回的Document
對象)。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
另請參閱
使用檔案安全性API(Web服務)將原則套用至PDF檔案:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。RightsManagementServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索PDF文檔。
BLOB
物件。 BLOB
對象用於儲存應用策略的PDF文檔。System.IO.FileStream
對象,該字串值表示PDF文檔的檔案位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 通過獲取System.IO.FileStream
對象的Length
屬性來確定位元組陣列大小。System.IO.FileStream
物件的Read
方法,以串流資料填入位元組陣列。 傳遞位元組陣列、起始位置和資料流長度以讀取。MTOM
欄位指定位元組陣列的內容,以填入BLOB
物件。將現有策略應用於PDF文檔。
調用RightsManagementServiceClient
對象的protectDocument
方法並傳遞以下值,將策略應用於PDF文檔:
BLOB
對象,包含應用策略的PDF文檔。null
值,該值導致使用MyPolicies
策略集。null
)。null
)。RMLocale
值,它指定區域設定值(例如RMLocale.en
)。application/pdf
)。protectDocument
方法返回包含受策略保護的PDF文檔的BLOB
對象。
保存PDF文檔。
System.IO.FileStream
對象的建構子並傳遞一個字串值,該字串值表示受策略保護的PDF文檔的檔案位置。protectDocument
方法返回的BLOB
對象的資料內容。 獲取BLOB
對象的MTOM
資料成員的值,以填充位元組陣列。System.IO.FileStream
對象來建立System.IO.BinaryWriter
對象。System.IO.BinaryWriter
對象的Write
方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
可以從受策略保護的文檔中刪除策略,以便從文檔中刪除安全性。 也就是說,如果您不再希望該文檔受策略保護。 如果要使用較新的策略更新受策略保護的文檔,則不刪除該策略並添加更新的策略,切換該策略會更加有效。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要從受策略保護的PDF文檔中刪除策略,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,請建立Document Security服務客戶端對象。
檢索受策略保護的PDF文檔
您可以檢索受策略保護的PDF文檔以刪除策略。 如果嘗試從未受策略保護的PDF文檔中刪除策略,將導致異常。
從PDF文檔中刪除策略
如果在連接設定中指定了管理員,則可以從受策略保護的PDF文檔中刪除策略。 否則,用於保護文檔的策略必須包含SWITCH_POLICY
權限,才能從PDF文檔中刪除策略。 此外,在AEM Forms連線設定中指定的使用者也必須擁有該權限。 否則,會擲回例外。
儲存不安全的PDF檔案
檔案安全性服務從PDF檔案移除原則後,您可以將不安全的PDF檔案儲存為PDF檔案。
另請參閱
使用Document Security API(Java)從受原則保護的PDF檔案中移除原則:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立DocumentSecurityClient
物件。檢索受策略保護的PDF文檔。
java.io.FileInputStream
對象。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。從PDF文檔中刪除策略。
DocumentSecurityClient
對象的getDocumentManager
方法,建立DocumentManager
對象。DocumentManager
對象的removeSecurity
方法並傳遞包含受策略保護的PDF文檔的com.adobe.idp.Document
對象,從PDF文檔中刪除策略。 此方法會傳回com.adobe.idp.Document
物件,其中包含不安全的PDF檔案。儲存不安全的PDF檔案。
java.io.File
物件,並確定副檔名為PDF。Document
對象的copyToFile
方法,將Document
對象的內容複製到檔案(確保使用removeSecurity
方法返回的Document
對象)。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
使用Document Security API(web服務)從受原則保護的PDF檔案中移除原則:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。DocumentSecurityServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索受策略保護的PDF文檔。
BLOB
物件。 BLOB
對象用於儲存從中刪除策略的受策略保護的PDF文檔。System.IO.FileStream
對象,該字串值表示PDF文檔的檔案位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 通過獲取System.IO.FileStream
對象的Length
屬性,可以確定位元組陣列的大小。System.IO.FileStream
對象的Read
方法並傳遞要讀取的位元組陣列、啟動位置和流長度,以流資料填充位元組陣列。MTOM
欄位指定位元組陣列的內容,以填入BLOB
物件。從PDF文檔中刪除策略。
調用DocumentSecurityServiceClient
對象的removePolicySecurity
方法並傳遞包含受策略保護的PDF文檔的BLOB
對象,從PDF文檔中刪除策略。 此方法會傳回BLOB
物件,其中包含不安全的PDF檔案。
儲存不安全的PDF檔案。
System.IO.FileStream
對象的建構子並傳遞一個字串值,該字串值表示不安全PDF文檔的檔案位置。removePolicySecurity
方法返回的BLOB
對象的資料內容。 獲取BLOB
對象的MTOM
欄位的值,填入位元組陣列。System.IO.FileStream
對象來建立System.IO.BinaryWriter
對象。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
另請參閱
您可以撤消對受策略保護的PDF文檔的訪問,導致用戶無法訪問該文檔的所有副本。 當使用者嘗試開啟已撤銷的PDF檔案時,系統會將他們重新導向至指定的URL,以便檢視已修訂的檔案。 必須以程式設計方式指定使用者重新導向的URL。 當您撤銷對文檔的訪問權時,此更改將在用戶下次通過聯機開啟受策略保護的文檔與文檔安全服務同步時生效。
撤銷對文檔的訪問權的能力提供了額外的安全性。 例如,假設文檔有較新版本,並且您不再希望任何人查看過期版本。 在這種情況下,可以撤銷對舊文檔的訪問,除非恢復訪問,否則任何人都無法查看該文檔。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要撤銷受策略保護的文檔,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,必須建立Document Security服務客戶端對象。
檢索受策略保護的PDF文檔
必須檢索受策略保護的PDF文檔才能撤銷它。 不能撤消已撤銷或不是受策略保護的文檔。
如果您知道受策略保護文檔的許可證標識符值,則不需要檢索受策略保護的PDF文檔。 但是,在大多數情況下,您需要檢索PDF文檔才能獲得許可證標識符值。
撤消受策略保護的文檔
要撤銷受策略保護的文檔,請指定受策略保護文檔的許可證標識符。 此外,您還可以指定當用戶嘗試開啟撤消的文檔時可以查看的文檔的URL。 也就是說,假設已過時的檔案被撤銷。 當用戶嘗試開啟已撤銷的文檔時,他們將看到更新的文檔,而不是已撤銷的文檔。
如果嘗試撤消已撤消的文檔,則會引發異常。
另請參閱
使用Document Security API(Java)撤銷對受原則保護PDF檔案的存取權:
包含項目檔案
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立DocumentSecurityClient
物件。檢索受策略保護的PDF文檔
java.io.FileInputStream
對象,該對象表示受策略保護的PDF文檔。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。撤消受策略保護的文檔
調用DocumentSecurityClient
對象的getDocumentManager
方法,建立DocumentManager
對象。
調用DocumentManager
對象的getLicenseId
方法,檢索受策略保護文檔的許可證標識符值。 傳遞代表受策略保護文檔的com.adobe.idp.Document
對象。 此方法會傳回代表授權識別碼值的字串值。
調用DocumentSecurityClient
對象的getLicenseManager
方法,建立LicenseManager
對象。
調用LicenseManager
對象的revokeLicense
方法並傳遞以下值,撤消受策略保護的文檔:
DocumentManager
對象getLicenseId
方法的返回值)。License
介面的靜態資料成員,它指定撤消文檔的原因。 例如,您可以指定License.DOCUMENT_REVISED
。java.net.URL
值,指定修訂文檔的位置。 如果您不想將使用者重新導向至其他URL,則可以傳遞null
。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
使用Document Security API(web服務)撤銷對受策略保護的PDF文檔的訪問:
包含項目檔案
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。DocumentSecurityServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索受策略保護的PDF文檔
BLOB
物件。 BLOB
對象用於儲存被撤銷的受策略保護的PDF文檔。System.IO.FileStream
對象,該字串值表示要撤銷的策略保護PDF文檔的檔案位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 通過獲取System.IO.FileStream
對象的Length
屬性,可以確定位元組陣列的大小。System.IO.FileStream
對象的Read
方法並傳遞要讀取的位元組陣列、啟動位置和流長度,以流資料填充位元組陣列。MTOM
欄位指定位元組陣列的內容,以填入BLOB
物件。撤消受策略保護的文檔
通過調用DocumentSecurityServiceClient
對象的getLicenseID
方法並傳遞代表受策略保護文檔的BLOB
對象來檢索受策略保護文檔的許可證標識符值。 此方法會傳回代表授權識別碼的字串值。
調用DocumentSecurityServiceClient
對象的revokeLicense
方法並傳遞以下值,撤消受策略保護的文檔:
DocumentSecurityServiceService
對象getLicenseId
方法的返回值)。Reason
枚舉的靜態資料成員,它指定撤消文檔的原因。 例如,您可以指定Reason.DOCUMENT_REVISED
。string
值,指定修訂文檔所在的URL位置。 如果您不想將使用者重新導向至其他URL,則可以傳遞null
。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
另請參閱
您可以恢復對已撤銷PDF文檔的訪問權,使用者可以訪問已撤消文檔的所有副本。 當用戶開啟被撤消的恢復文檔時,用戶可以查看該文檔。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要恢復對已撤銷的PDF文檔的訪問,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,必須建立Document Security服務客戶端對象。 如果您使用Java API,請建立DocumentSecurityClient
物件。 如果您使用Document Security Web服務API,請建立DocumentSecurityServiceService
物件。
檢索已撤銷的PDF文檔的許可證標識符
您必須檢索已撤銷PDF文檔的許可證標識符,才能恢復已撤銷的PDF文檔。 獲取許可證標識符值後,可以恢復已撤銷的文檔。 如果嘗試恢復未撤銷的文檔,將導致異常。
恢復對已撤銷PDF文檔的訪問
要恢復對已撤銷PDF文檔的訪問,必須指定已撤銷文檔的許可標識符。 如果嘗試恢復未撤銷的PDF文檔的訪問權,將導致異常。
另請參閱
使用文檔安全API(Java)恢復對已撤銷文檔的訪問:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立DocumentSecurityClient
物件。檢索已撤銷的PDF文檔的許可證標識符。
java.io.FileInputStream
對象。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。DocumentSecurityClient
對象的getDocumentManager
方法,建立DocumentManager
對象。DocumentManager
對象的getLicenseId
方法並傳遞代表撤銷文檔的com.adobe.idp.Document
對象,檢索撤銷文檔的許可標識符值。 此方法會傳回代表授權識別碼的字串值。恢復對已撤銷PDF文檔的訪問。
DocumentSecurityClient
對象的getLicenseManager
方法,建立LicenseManager
對象。LicenseManager
對象的unrevokeLicense
方法並傳遞已撤銷文檔的許可證標識符值,恢復對已撤銷PDF文檔的訪問。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
使用文檔安全API(Web服務)恢復對已撤銷文檔的訪問:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。DocumentSecurityServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索已撤銷的PDF文檔的許可證標識符。
BLOB
物件。 BLOB
對象用於儲存撤消的PDF文檔,該文檔將恢復訪問。System.IO.FileStream
對象,該字串值表示已撤銷的PDF文檔的檔案位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 通過獲取System.IO.FileStream
對象的Length
屬性,可以確定位元組陣列的大小。System.IO.FileStream
對象的Read
方法並傳遞要讀取的位元組陣列、啟動位置和流長度,以流資料填充位元組陣列。MTOM
欄位指定位元組陣列的內容,以填入BLOB
物件。恢復對已撤銷PDF文檔的訪問。
DocumentSecurityServiceClient
對象的getLicenseID
方法並傳遞代表撤銷文檔的BLOB
對象,檢索撤銷文檔的許可標識符值。 此方法會傳回代表授權識別碼的字串值。DocumentSecurityServiceClient
對象的unrevokeLicense
方法並傳遞一個字串值,該字串值指定已撤銷的PDF文檔的許可證標識符值(傳遞DocumentSecurityServiceClient
對象的getLicenseId
方法的返回值),以恢復對已撤銷的PDF文檔的訪問。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
另請參閱
您可以使用Document Security Service API(Java和Web服務)來檢查受原則保護的PDF檔案。 檢查受原則保護的PDF檔案時,會傳回受原則保護PDF檔案的相關資訊。 例如,您可以確定用於保護文檔的策略以及保護文檔的日期。
如果您的LiveCycle版本為8.x或更早版本,則無法執行此任務。 AEM Forms中新增了檢查受原則保護檔案的支援。 如果嘗試使用LiveCycle8.x(或更早版本)檢查受策略保護的文檔,則會引發異常。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要檢查受策略保護的PDF文檔,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,請建立Document Security服務客戶端對象。 如果您使用Java API,請建立RightsManagementClient
物件。 如果您使用Document Security Web服務API,請建立RightsManagementServiceService
物件。
檢索受策略保護的文檔以檢查
要檢查受策略保護的文檔,請檢索它。 如果嘗試檢查未通過策略進行保護或被撤銷的文檔,則會引發異常。
Inspect檔案
檢索受策略保護的文檔後,可以檢查它。
獲取有關受策略保護文檔的資訊
檢查受策略保護的PDF文檔後,可以獲取有關該文檔的資訊。 例如,您可以確定用於保護文檔的策略。
如果使用屬於「我的策略」的策略保護文檔,然後調用RMInspectResult.getPolicysetName
或RMInspectResult.getPolicysetId
,則返回null。
如果使用策略集中包含的策略(「我的策略」除外)保護文檔,則RMInspectResult.getPolicysetName
和RMInspectResult.getPolicysetId
將返回有效的字串。
另請參閱
Inspect是受原則保護的PDF檔案,使用檔案安全性服務API(Java):
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。 有關這些檔案的位置資訊,請參閱包含AEM Forms Java庫檔案。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。 (請參閱設定連接屬性。)ServiceClientFactory
物件,以建立RightsManagementClient
物件。檢索要檢查的受策略保護的文檔。
java.io.FileInputStream
物件,以表示受原則保護的PDF檔案。 傳遞指定PDF文檔位置的字串值。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。Inspect檔案。
RightsManagementClient
對象的getDocumentManager
方法,建立DocumentManager
對象。LicenseManager
對象的inspectDocument
方法來Inspect受策略保護的文檔。 傳遞包含受策略保護的PDF文檔的com.adobe.idp.Document
對象。 此方法返回一個RMInspectResult
對象,該對象包含有關受策略保護文檔的資訊。獲取有關受策略保護文檔的資訊。
要獲取有關受策略保護文檔的資訊,請調用屬於RMInspectResult
對象的適當方法。 例如,要檢索策略名稱,請調用RMInspectResult
對象的getPolicyName
方法。
程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
Inspect是受原則保護的PDF檔案,使用檔案安全性服務API(網站服務):
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。RightsManagementServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索要檢查的受策略保護的文檔。
BLOB
物件。 BLOB
對象用於儲存要檢查的PDF文檔。System.IO.FileStream
對象的建構子以建立對象。 傳遞一個字串值,該字串值表示PDF文檔的檔案位置,並傳遞在中開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 通過獲取System.IO.FileStream
對象的Length
屬性,可以確定位元組陣列的大小。System.IO.FileStream
物件的Read
方法,以串流資料填入位元組陣列。 傳遞位元組陣列、起始位置和資料流長度以讀取。MTOM
欄位指定位元組陣列的內容,以填入BLOB
物件。Inspect檔案。
通過調用RightsManagementServiceClient
對象的inspectDocument
方法來Inspect受策略保護的文檔。 傳遞包含受策略保護的PDF文檔的BLOB
對象。 此方法返回一個RMInspectResult
對象,該對象包含有關受策略保護文檔的資訊。
獲取有關受策略保護文檔的資訊。
要獲取有關受策略保護文檔的資訊,請獲取屬於RMInspectResult
對象的相應欄位的值。 例如,要檢索策略名稱,請獲取RMInspectResult
對象的policyName
欄位的值。
程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
另請參閱
水印通過唯一地識別文檔和控製版權侵權來幫助確保文檔的安全。 例如,您可以建立並放置一個水印,該水印在文檔的所有頁面上都指明「機密」。 建立浮水印後,您可以將其納入策略。 也就是說,可以使用新建立的水印來設定策略的水印屬性。 將包含水印的策略應用到文檔後,該水印將出現在受策略保護的文檔中。
只有具有Document Security管理權限的用戶才能建立水印。 也就是說,在定義建立Document Security服務客戶端對象所需的連接設定時,必須指定這樣的用戶。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要建立水印,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,必須建立Document Security服務客戶端對象。 如果您使用Java API,請建立RightsManagementClient
物件。 如果您使用Document Security Web服務API,請建立RightsManagementServiceService
物件。
設定水印屬性
要建立新水印,必須設定水印屬性。 必須始終定義name屬性。 除了name屬性之外,您至少必須設定以下屬性之一:
下表列出使用網站服務建立浮水印時所需的索引鍵和值組。
金鑰名稱 |
說明 |
值 |
---|---|---|
|
指定開啟文檔的用戶的用戶名是否屬於水印的一部分。 |
True或False |
|
指定開啟文檔的用戶的標識是否屬於水印的一部分。 |
True或False |
|
指定當前日期是否是水印的一部分。 |
True或False |
|
如果此值為true,則必須使用 |
True或False |
|
指定水印的不透明度。 如果未指定,則預設值為0.5。 |
介於0.0和1.0之間的值。 |
|
指定水印的旋轉。 預設值為0度。 |
介於0到359之間的值。 |
|
如果指定了此值,則 |
大於0.0且小於或等於1.0的值。 |
|
指定水印的水準對齊方式。 預設值為中心。 |
左、中或右 |
|
指定水印的垂直對齊方式。 預設值為中心。 |
頂部、中間或底部 |
|
指定水印是否為背景。 預設值為false。 |
True或False |
|
如果指定自訂比例,則為true。 如果此值為true,則還必須指定SCALE。 如果此值為false,則預設值適合頁面大小。 |
True或False |
|
指定浮水印的自定義文本。 如果此值存在,則 |
True或False |
所有水印都必須定義以下屬性之一:
WaterBackCmd:IS_USERNAME_ENABLED
WaterBackCmd:IS_USERID_ENABLED
WaterBackCmd:IS_CURRENTDATE_ENABLED
WaterBackCmd:IS_CUSTOMTEXT_ENABLED
所有其他屬性均為選用。
註冊水印
必須先向Document Security服務註冊新水印,才能使用。 註冊水印後,可以在策略中使用它。
另請參閱
使用Document Security API(Java)建立浮水印:
包含專案檔案。
在Java項目的類路徑中包含客戶端JAR檔案,如adobe-rightsmanagement-client.jar
。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立RightsManagementClient
物件。設定浮水印屬性
InfomodelObjectFactory
對象的靜態createWatermark
方法,建立Watermark
對象。 此方法會傳回Watermark
物件。Watermark
對象的setName
方法並傳遞指定策略名稱的字串值,以設定水印的名稱屬性。Watermark
對象的setBackground
方法並傳遞true
來設定水印的背景屬性。 通過設定此屬性,水印將出現在文檔的背景中。Watermark
對象的setCustomText
方法並傳遞表示水印文本的字串值,以設定水印的自定義文本屬性。Watermark
對象的setOpacity
方法並傳遞指定不透明度級別的整數值,以設定水印的不透明度屬性。 值100表示水印完全不透明,值0表示水印完全透明。註冊水印。
RightsManagementClient
對象的getWatermarkManager
方法,建立WatermarkManager
對象。 此方法會傳回WatermarkManager
物件。WatermarkManager
對象的registerWatermark
方法並傳遞表示要註冊的水印的Watermark
對象來註冊水印。 此方法會傳回一個字串值,代表浮水印的識別值。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
使用Document Security API(web服務)建立浮水印:
建立Document Security用戶端API物件。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。RightsManagementServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
設定浮水印屬性。
WatermarkSpec
建構子以建立WatermarkSpec
對象。WatermarkSpec
對象的name
資料成員分配字串值來設定水印的名稱。WatermarkSpec
對象的id
資料成員分配字串值來設定水印的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
資料成員。註冊水印。
通過調用RightsManagementServiceClient
對象的registerWatermark
方法並傳遞表示要註冊的水印的WatermarkSpec
對象來註冊水印。
程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
另請參閱
您可以使用Document Security Java API或Web服務API修改現有水印。 要對現有水印進行更改,可以檢索水印,修改其屬性,然後在伺服器上更新它。 例如,假設您檢索水印並修改其不透明度屬性。 在更改生效之前,必須更新水印。
當您修改水印時,此更改將影響應用了水印的將來文檔。 也就是說,包含浮水印的現有PDF文檔不受影響。
只有具有Document Security管理權限的用戶才能修改水印。 也就是說,在定義建立Document Security服務客戶端對象所需的連接設定時,必須指定這樣的用戶。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要修改水印,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,必須建立Document Security服務客戶端對象。 如果您使用Java API,請建立DocumentSecurityClient
物件。 如果您使用Document Security Web服務API,請建立DocumentSecurityServiceService
物件。
檢索要修改的水印
要修改水印,必須檢索現有水印。 可以通過指定水印的名稱或通過指定水印的標識符值來檢索水印。
設定水印屬性
要修改現有水印,請更改一個或多個水印屬性的值。 當使用Web服務以寫程式方式更新水印時,必須設定最初設定的所有屬性,即使值未更改。 例如,假設已設定以下水印屬性:WaterBackCmd:IS_USERID_ENABLED
、WaterBackCmd:IS_CUSTOMTEXT_ENABLED
、WaterBackCmd:OPACITY
和WaterBackCmd:SRCTEXT
。 雖然您要修改的唯一屬性是WaterBackCmd:OPACITY
,但您必須將其他值設定得良好。
使用Java API修改浮水印時,不需要指定所有屬性。 設定要修改的水印屬性。
有關水印屬性名稱的資訊,請參閱建立水印。
更新浮水印
修改水印的屬性後,必須更新水印。
另請參閱
使用Document Security API(Java)修改浮水印:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立DocumentSecurityClient
物件。檢索要修改的水印。
通過調用DocumentSecurityClient
對象的getWatermarkManager
方法建立WatermarkManager
對象,並傳遞指定水印名稱的字串值。 此方法會傳回一個Watermark
物件,代表要修改的浮水印。
設定浮水印屬性。
調用Watermark
對象的setOpacity
方法並傳遞指定不透明度級別的整數值,以設定水印的不透明度屬性。 值100表示水印完全不透明,值0表示水印完全透明。
此示例僅修改不透明度屬性。
更新浮水印。
WatermarkManager
對象的updateWatermark
方法並傳遞其屬性已修改的Watermark
對象,以更新水印。程式碼範例
有關使用Document Security服務的代碼示例,請參閱快速入門(SOAP模式):使用Java API部分修改水印。
使用Document Security API(web服務)修改浮水印:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。DocumentSecurityServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索要修改的水印。
調用DocumentSecurityServiceClient
對象的getWatermarkByName
方法來檢索要修改的水印。 傳遞指定浮水印名稱的字串值。 此方法會傳回一個WatermarkSpec
物件,代表要修改的浮水印。
設定浮水印屬性。
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
資料成員。更新浮水印。
通過調用DocumentSecurityServiceClient
對象的updateWatermark
方法並傳遞表示要修改的水印的WatermarkSpec
對象來更新水印。
程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
Rights Management服務會在發生特定操作時跟蹤這些操作,例如將策略應用到文檔、開啟受策略保護的文檔以及撤消對文檔的訪問。 必須為Rights Management服務啟用事件審核,否則不會追蹤事件。
事件分為下列其中一類:
您可以使用Rights ManagementJava API或網站服務API來搜尋指定的事件。 通過搜索事件,您可以執行任務,例如建立某些事件的日誌檔案。
如需Rights Management服務的詳細資訊,請參閱AEM Forms的服務參考。
要搜索Rights Management事件,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Rights Management用戶端API物件
在以寫程式方式執行Rights Management服務操作之前,必須建立Rights Management服務客戶端對象。 如果您使用Java API,請建立DocumentSecurityClient
物件。 如果您使用Rights ManagementWeb服務API,請建立DocumentSecurityServiceService
物件。
指定要搜尋的事件
必須指定要搜索的事件。 例如,可以搜索策略建立事件,該事件在建立新策略時發生。
搜尋事件
指定要搜尋的事件後,您可以使用Rights ManagementJava API或Rights Management網站服務API來搜尋事件。
另請參閱
使用Rights ManagementAPI(Java)搜尋事件:
包含項目檔案
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Rights Management用戶端API物件
使用其建構子並傳遞包含連線屬性的ServiceClientFactory
物件,以建立DocumentSecurityClient
物件。
指定要搜尋的事件
DocumentSecurityClient
對象的getEventManager
方法,建立EventManager
對象。 此方法會傳回EventManager
物件。EventSearchFilter
對象的建構子以建立對象。EventSearchFilter
對象的setEventCode
方法並傳遞屬於EventManager
類(表示要搜索的事件)的靜態資料成員,指定要搜索的事件。 例如,要搜索策略建立事件,請傳遞EventManager.POLICY_CREATE_EVENT
。您可以叫用EventSearchFilter
物件方法來定義其他搜尋准則。 例如,調用setUserName
方法以指定與事件關聯的用戶。
搜尋事件
叫用EventManager
物件的searchForEvents
方法並傳遞定義事件搜尋准則的EventSearchFilter
物件,以搜尋事件。 此方法會傳回Event
物件的陣列。
程式碼範例
如需使用Rights Management服務的程式碼範例,請參閱下列快速入門:
使用Rights ManagementAPI(網站服務)搜尋事件:
包含項目檔案
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立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
。DocumentSecurityServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
指定要搜尋的事件
EventSpec
物件。EventSpec
對象的firstTime.date
資料成員,以及表示發生事件時日期範圍開始的DataTime
實例,指定事件發生期間的開始。true
分配給EventSpec
對象的firstTime.dateSpecified
資料成員。EventSpec
對象的lastTime.date
資料成員(實例表示發生事件時的日期範圍結束),指定事件發生期間的結束。DataTime
true
分配給EventSpec
對象的lastTime.dateSpecified
資料成員。EventSpec
對象的eventCode
資料成員分配字串值,以設定要搜索的事件。 下表列出您可指派給此屬性的數值:事件類型 |
值 |
---|---|
|
999 |
|
1000 |
|
1001 |
|
1002 |
|
1003 |
|
1004 |
|
1005 |
|
1006 |
|
1007 |
|
1008 |
|
1009 |
|
2000年 |
|
2001年 |
|
2002年 |
|
2003年 |
|
2004年 |
|
2005年 |
|
2006年 |
|
2007年 |
|
2008年 |
|
2009年 |
|
2010年 |
|
2011年 |
|
2012年 |
|
2013年 |
|
2014年 |
|
3000 |
|
3001 |
|
3002 |
|
3003 |
|
3004 |
|
3005 |
|
4000 |
|
4001 |
|
4002 |
|
4003 |
|
4004 |
|
4005 |
|
5000 |
|
5001 |
|
5002 |
|
5003 |
|
5004 |
|
6000 |
|
7000 |
|
7001 |
|
7002 |
搜尋事件
叫用DocumentSecurityServiceClient
物件的searchForEvents
方法並傳遞EventSpec
物件以搜尋要搜尋的事件和結果數上限,借此搜尋事件。 此方法會傳回MyArrayOf_xsd_anyType
集合,其中每個元素都是AuditSpec
例項。 使用AuditSpec
例項,您可以取得事件的相關資訊,例如發生的時間。 AuditSpec
實例包含指定此資訊的timestamp
資料成員。
程式碼範例
如需使用Rights Management服務的程式碼範例,請參閱下列快速入門:
另請參閱
除了PDF文檔外,權限管理服務還支援其他文檔格式,如Microsoft Word文檔(DOC檔案)和其他Microsoft Office檔案格式。 例如,您可以將策略應用於Word文檔以保護它。 通過將策略應用於Word文檔,可以限制對文檔的訪問。 如果文檔已使用策略進行了保護,則無法將策略應用到文檔。
在分發受策略保護的Word文檔後,可以監視其使用情況。 也就是說,您可以看到檔案的使用方式,以及使用者。 例如,您可以找出有人何時開啟檔案。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要將策略應用於Word文檔,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security Client API對象
在以寫程式方式執行Document Security服務操作之前,必須建立Document Security服務客戶端對象。
檢索Word文檔
必須檢索Word文檔才能應用策略。 將策略應用到Word文檔後,在使用該文檔時,用戶將受到限制。 例如,如果策略不允許離線時開啟文檔,則用戶必須聯機才能開啟文檔。
將現有策略應用於Word文檔
要將策略應用於Word文檔,必須引用現有策略並指定該策略所屬的策略集。 設定連接屬性的用戶必須具有對指定策略的訪問權限。 否則會發生例外。
保存Word文檔
在Document Security服務將策略應用到Word文檔後,可以將受策略保護的Word文檔另存為DOC檔案。
另請參閱
使用Document Security API(Java)將策略應用到Word文檔:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立DocumentSecurityClient
物件。檢索Word文檔。
java.io.FileInputStream
對象。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。將現有策略應用於Word文檔。
調用DocumentSecurityClient
對象的getDocumentManager
方法,建立DocumentManager
對象。
調用DocumentManager
對象的protectDocument
方法並傳遞以下值,將策略應用於Word文檔:
com.adobe.idp.Document
對象,包含應用策略的Word文檔。null
值,該值導致使用MyPolicies
策略集。null
(如果此參數為null
,則上一個參數值必須為null
)。com.adobe.livecycle.rightsmanagement.Locale
,表示用於選擇MS Office模板的區域設定。 此參數值為可選值,您可以指定null
。protectDocument
方法返回包含受策略保護的Word文檔的RMSecureDocumentResult
對象。
保存Word文檔。
RMSecureDocumentResult
對象的getProtectedDoc
方法以獲取受策略保護的Word文檔。 此方法會傳回com.adobe.idp.Document
物件。java.io.File
對象,並確保檔案副檔名為DOC。com.adobe.idp.Document
對象的copyToFile
方法,將Document
對象的內容複製到檔案(確保使用getProtectedDoc
方法返回的Document
對象)。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
使用Document Security API(web服務)將策略應用到Word文檔:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/DocumentSecurityService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。DocumentSecurityServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索Word文檔。
BLOB
物件。 BLOB
對象用於儲存應用策略的Word文檔。System.IO.FileStream
對象,該字串值表示Word文檔的檔案位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 通過獲取System.IO.FileStream
對象的Length
屬性來確定位元組陣列大小。System.IO.FileStream
物件的Read
方法,以串流資料填入位元組陣列。 傳遞位元組陣列、起始位置和資料流長度以讀取。MTOM
欄位指定位元組陣列的內容,以填入BLOB
物件。將現有策略應用於Word文檔。
調用DocumentSecurityServiceClient
對象的protectDocument
方法並傳遞以下值,將策略應用於Word文檔:
BLOB
對象,包含應用策略的Word文檔。null
值,該值導致使用MyPolicies
策略集。null
)。null
)。RMLocale
值,它指定區域設定值(例如RMLocale.en
)。application/doc
)。protectDocument
方法返回包含受策略保護的Word文檔的BLOB
對象。
保存Word文檔。
System.IO.FileStream
對象,該字串值表示受策略保護的Word文檔的檔案位置。protectDocument
方法返回的BLOB
對象的資料內容。 獲取BLOB
對象的MTOM
資料成員的值,以填充位元組陣列。System.IO.FileStream
對象來建立System.IO.BinaryWriter
對象。System.IO.BinaryWriter
對象的Write
方法並傳遞位元組陣列,將位元組陣列的內容寫入Word檔案。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
可以從受策略保護的Word文檔中刪除策略,以便從文檔中刪除安全性。 也就是說,如果您不再希望該文檔受策略保護。 如果要使用較新的策略更新受策略保護的Word文檔,則切換該策略比刪除該策略和添加更新的策略更有效。
有關Document Security服務的詳細資訊,請參閱AEM Forms的服務參考。
要從受策略保護的Word文檔中刪除策略,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Document Security用戶端API物件
在以寫程式方式執行Document Security服務操作之前,請建立Document Security服務客戶端對象。
檢索受策略保護的Word文檔
必須檢索受策略保護的Word文檔才能刪除策略。 如果嘗試從未受策略保護的Word文檔中刪除策略,將導致異常。
從Word文檔中刪除策略
如果在連接設定中指定了管理員,則可以從受策略保護的Word文檔中刪除策略。 否則,用於保護文檔的策略必須包含SWITCH_POLICY
權限,才能從Word文檔中刪除策略。 此外,在AEM Forms連線設定中指定的使用者也必須擁有該權限。 否則,會擲回例外。
保存不安全的Word文檔
在Document Security服務從Word文檔中刪除策略後,可以將不安全的Word文檔另存為DOC檔案。
另請參閱
使用Document Security API(Java)從受策略保護的Word文檔中刪除策略:
包含項目檔案
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-rightsmanagement-client.jar。
建立Document Security用戶端API物件
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立RightsManagementClient
物件。檢索受策略保護的Word文檔
java.io.FileInputStream
對象。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。從Word文檔中刪除策略
RightsManagementClient
對象的getDocumentManager
方法,建立DocumentManager
對象。DocumentManager
對象的removeSecurity
方法並傳遞包含受策略保護的Word文檔的com.adobe.idp.Document
對象,從Word文檔中刪除策略。 此方法會傳回com.adobe.idp.Document
物件,其中包含不安全的Word檔案。保存不安全的Word文檔
java.io.File
對象,並確保檔案副檔名為DOC。Document
對象的copyToFile
方法,將Document
對象的內容複製到檔案(確保使用removeSecurity
方法返回的Document
對象)。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
使用Document Security API(Web服務)從受策略保護的Word文檔中刪除策略:
包含項目檔案
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/RightsManagementService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Document Security用戶端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
。RightsManagementServiceClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。將常數值BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
檢索受策略保護的Word文檔
BLOB
物件。 BLOB
對象用於儲存從中刪除策略的受策略保護的Word文檔。System.IO.FileStream
對象,該字串值表示Word文檔的檔案位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 通過獲取System.IO.FileStream
對象的Length
屬性,可以確定位元組陣列的大小。System.IO.FileStream
對象的Read
方法並傳遞要讀取的位元組陣列、啟動位置和流長度,以流資料填充位元組陣列。MTOM
欄位指定位元組陣列的內容,以填入BLOB
物件。從Word文檔中刪除策略
調用RightsManagementServiceClient
對象的removePolicySecurity
方法並傳遞包含受策略保護的Word文檔的BLOB
對象,從Word文檔中刪除策略。 此方法會傳回BLOB
物件,其中包含不安全的Word檔案。
保存不安全的Word文檔
System.IO.FileStream
對象,該字串值表示不安全Word文檔的檔案位置。removePolicySecurity
方法返回的BLOB
對象的資料內容。 獲取BLOB
對象的MTOM
欄位的值,填入位元組陣列。System.IO.FileStream
對象來建立System.IO.BinaryWriter
對象。程式碼範例
有關使用Document Security服務的代碼示例,請參閱以下快速入門:
另請參閱