Acrobat Reader DC擴充功能服務可讓貴組織透過擴充Adobe Reader的功能,輕鬆分享互動式PDF檔案。 Acrobat Reader DC擴充功能服務完全支援任何PDF檔案,最高可支援PDF 1.7。它可與Adobe Reader 7.0及更新版本搭配使用。 本服務新增PDF檔案的使用權限,並啟用在使用Adobe Reader開啟PDF檔案時通常無法使用的功能。 協力廠商使用者不需要額外的軟體或外掛程式,就能使用具版權的檔案。
您可以使用Acrobat Reader DC擴充功能服務完成下列工作:
如需Acrobat Reader DC擴充功能服務的詳細資訊,請參閱AEM Forms的服務參考。
您可以使用Acrobat Reader DC擴充功能Java Client API和web service,將使用權套用至PDF檔案。 使用權限與Acrobat預設為Acrobat但Adobe Reader未提供的功能相關,例如在表格中新增註解或填寫表格欄位並儲存表格的功能。 具有套用使用權限的PDF檔案稱為具有權限的檔案。 在Adobe Reader中開啟具權限檔案的使用者,可以執行針對該特定檔案啟用的作業。
使用Java API的applyUsageRights
方法套用PDF檔案的使用權時,您可以將ReaderExtensionsOptionSpec
物件的isModeFinal
參數設定為false
。 這會導致表單處理計數器無法更新,而且效能有所提升。 如果您不擔心更新已處理的表單計數器,建議您將isModeFinal
參數設為false
。
如需Acrobat Reader DC擴充功能服務的詳細資訊,請參閱AEM Forms的服務參考。
若要將使用權套用至PDF檔案,請執行下列步驟:
包含專案檔案
將必要的檔案加入您的開發專案中。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
建立Acrobat Reader DC擴充功能用戶端物件
若要以程式設計方式執行Acrobat Reader DC擴充服務作業,您必須建立Acrobat Reader DC擴充功能服務用戶端物件。 如果您使用Acrobat Reader DC擴充功能Java API,請建立ReaderExtensionsServiceClient
物件。 如果您使用Acrobat Reader DC擴充功能網站服務API,請建立ReaderExtensionsServiceService
物件。
擷取PDF檔案
您必須擷取PDF檔案,才能套用使用權。 啟用權限的PDF檔案包含使用權限字典。 當Adobe Reader開啟包含此類字典的檔案時,它只會啟用該檔案字典中指定的使用權限。 如果檔案不包含使用權字典,Acrobat Reader DC擴充功能服務會建立一個字典。 如果Acrobat Reader DC擴充功能服務已包含字典,則會以您指定的字典覆寫現有的使用權限。 字典指定啟用哪些使用權限。 當使用者在Adobe Reader中開啟檔案時,僅允許字典中指定的使用權限。
指定要套用的使用權限
您可設定的使用權由您向Adobe Systems Incorporated購買的憑證決定。 憑證通常提供設定一組相關使用權限的權限,例如與互動式表單相關的使用權限。 每個憑證都提供建立特定數目且具權限的PDF檔案的權利。 評估憑證可讓您建立不限數量的草稿檔案。
如果您嘗試指派憑證未允許的使用權,將會造成例外。
將使用權套用至PDF檔案
若要將使用權套用至PDF檔案,請參考您用來套用使用權的憑證別名(憑證通常會在安裝AEM Forms時安裝)。 此外,您必須指定套用使用權限的PDF檔案。 如需有關設定憑證的詳細資訊,請參閱應用程式伺服器的安裝與部署指南。
儲存已啟用權限的PDF檔案
在Acrobat Reader DC擴充功能服務將使用權套用至PDF檔案後,您就可以將具有權限的PDF檔案儲存為PDF檔案。
另請參閱
Acrobat Reader DC Extensions Service API快速入門
使用Acrobat Reader DC Extensions API(Java),將使用權套用至PDF檔案:
包含專案檔案
將用戶端JAR檔案,例如adobe-reader-extensions-client.jar,加入Java專案的類別路徑中。
建立Acrobat Reader DC擴充功能用戶端物件。
ServiceClientFactory
對象。ServiceClientFactory
對象,建立ReaderExtensionsServiceClient
對象。擷取PDF檔案。
java.io.FileInputStream
物件。java.io.FileInputStream
對象,建立com.adobe.idp.Document
對象。指定要套用的使用權限。
UsageRights
物件。UsageRights
對象的相應方法。 例如,若要新增enableFormFillIn
使用權限,請叫用UsageRights
物件的enableFormFillIn
方法並傳遞true
。 (請針對每個要套用的使用項目重複此步驟)。將使用權套用至PDF檔案。
使用其建構子建立ReaderExtensionsOptionSpec
對象。 此物件包含Acrobat Reader DC擴充功能服務所需的執行時期選項。 調用此建構子時,必須指定以下值:
UsageRights
物件,包含套用至檔案的使用權限。調用ReaderExtensionsServiceClient
物件的applyUsageRights
方法並傳遞下列值,以套用PDF檔案的使用權:
com.adobe.idp.Document
物件,包含套用使用權限的PDF檔案。null
。)包含運行時選項的ReaderExtensionsOptionSpec
對象。
applyUsageRights
方法會傳回包含啟用權限的PDF檔案的com.adobe.idp.Document
物件。
儲存具權限的PDF檔案。
java.io.File
物件,並確定副檔名為。pdf。com.adobe.idp.Document
物件的copyToFile
方法,將com.adobe.idp.Document
物件的內容複製至檔案(請確定您使用applyUsageRights
方法傳回的com.adobe.idp.Document
物件)。另請參閱
使用Acrobat Reader DC Extensions API(web service),將使用權套用至PDF檔案:
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 請確定您使用下列WSDL定義:http://localhost:8080/soap/services/ReaderExtensionsService?WSDL&lc_version=9.0.1
。
將localhost
取代為代管AEM Forms之伺服器的IP位址。
建立Acrobat Reader DC擴充功能用戶端物件。
使用其預設建構子建立ReaderExtensionsServiceClient
對象。
使用System.ServiceModel.EndpointAddress
建構函式建立ReaderExtensionsServiceClient.Endpoint.Address
物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如http://localhost:8080/soap/services/ReaderExtensionsService?blob=mtom
)。 請確定您指定?blob=mtom
。)
獲取ReaderExtensionsServiceClient.Endpoint.Binding
欄位的值,建立System.ServiceModel.BasicHttpBinding
對象。 將返回值轉換為BasicHttpBinding
。
將System.ServiceModel.BasicHttpBinding
物件的MessageEncoding
欄位設為WSMessageEncoding.Mtom
。 此值可確保使用MTOM。
執行下列工作以啟用基本HTTP驗證:
ReaderExtensionsServiceClient.ClientCredentials.UserName.UserName
。ReaderExtensionsServiceClient.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
對象的<a1/>屬性指定位元組陣列的內容來填充BLOB
對象。指定要套用的使用權限。
UsageRights
物件。true
分配給屬於UsageRights
對象的相應資料成員。 例如,若要正確新增enableFormFillIn
使用,請將true
指派給UsageRights
物件的enableFormFillIn
資料成員。 (請針對每個要套用的使用項目重複此步驟)。將使用權套用至PDF檔案。
使用其建構子建立ReaderExtensionsOptionSpec
對象。 此物件包含Acrobat Reader DC擴充功能服務所需的執行時期選項。
將UsageRights
物件指派給ReaderExtensionsOptionSpec
物件的usageRights
資料成員。
將字串值指定在Adobe Reader中開啟啟用權限的PDF檔案時使用者看到的訊息指派給ReaderExtensionsOptionSpec
物件的message
資料成員。
調用ReaderExtensionsServiceClient
物件的applyUsageRights
方法並傳遞下列值,以套用PDF檔案的使用權:
BLOB
物件,包含套用使用權限的PDF檔案。null
。)包含運行時選項的ReaderExtensionsOptionSpec
對象。
applyUsageRights
方法會傳回包含啟用權限的PDF檔案的BLOB
物件。
儲存具權限的PDF檔案。
System.IO.FileStream
對象的建構子建立<a0/>對象。 傳遞一個字串值,代表啟用權限的PDF檔案的檔案位置。applyUsageRights
方法返回的BLOB
對象的資料內容。 獲取BLOB
對象MTOM
資料成員的值,以填充位元組陣列。System.IO.BinaryWriter
對象的建構子並傳遞System.IO.FileStream
對象,以建立<a0/>對象。System.IO.BinaryWriter
物件的Write
方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。另請參閱
您可以從啟用權限的檔案中移除使用權限。 為了在PDF檔案上執行其他AEM Forms作業,也必須從具權限的PDF檔案移除使用權。 例如,您必須先數位簽署(或認證)PDF檔案,才能設定使用權。 因此,如果要對具有權限的文檔執行操作,則必須從PDF文檔中刪除使用權限,執行其他操作,例如對文檔進行數字簽名,然後對文檔重新應用使用權限。
如需Acrobat Reader DC擴充功能服務的詳細資訊,請參閱AEM Forms的服務參考。
若要從啟用權限的PDF檔案移除使用權,請執行下列步驟:
包含專案檔案
將必要的檔案加入您的開發專案中。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
建立Acrobat Reader DC擴充功能用戶端物件
您必須先建立Acrobat Reader DC擴充功能服務用戶端物件,才能以程式設計方式執行Acrobat Reader DC擴充功能服務作業。 如果您使用Java API,請建立ReaderExtensionsServiceClient
物件。 如果您使用Acrobat Reader DC擴充功能網站服務API,請建立ReaderExtensionsServiceService
物件。
擷取具權限的PDF檔案
擷取具權限的PDF檔案,以移除使用權限。
從PDF檔案移除使用權
擷取具有權限的PDF檔案後,您就可以移除使用權限。 在您移除使用權後,在Adobe Reader中檢視PDF檔案時,將不會再有其他功能。
儲存PDF檔案
您可以將不再包含使用權限的PDF檔案儲存為PDF檔案。 儲存為PDF檔案後,就可在Adobe Reader或Acrobat中檢視PDF檔案。
另請參閱
Acrobat Reader DC Extensions Service API快速入門
使用Acrobat Reader DC擴充功能API(Java),從啟用權限的PDF檔案移除使用權:
包含專案檔案。
將用戶端JAR檔案,例如adobe-reader-extensions-client.jar,加入Java專案的類別路徑中。
建立Acrobat Reader DC擴充功能用戶端物件。
使用其建構子並傳遞包含連接屬性的ServiceClientFactory
對象,建立ReaderExtensionsServiceClient
對象。
擷取PDF檔案。
java.io.FileInputStream
物件。java.io.FileInputStream
對象,建立com.adobe.idp.Document
對象。從PDF檔案移除使用權。
叫用ReaderExtensionsServiceClient
物件的removeUsageRights
方法,並傳遞包含啟用權限的PDF檔案的com.adobe.idp.Document
物件,以移除PDF檔案的使用權限。 此方法會傳回com.adobe.idp.Document
物件,其中包含沒有使用權限的PDF檔案。
將使用權套用至PDF檔案。
java.io.File
物件,並確定副檔名為。PDF。Document
物件的copyToFile
方法,將Document
物件的內容複製至檔案(請確定您使用removeUsageRights
方法傳回的Document
物件)。另請參閱
快速入門(SOAP模式):使用Java API移除PDF檔案的使用權
使用Acrobat Reader DC擴充功能API(web service),從具有版權的PDF檔案移除使用權:
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 請確定您使用下列WSDL定義:http://localhost:8080/soap/services/ReaderExtensionsService?WSDL&lc_version=9.0.1
。
將localhost
取代為代管AEM Forms之伺服器的IP位址。
建立Acrobat Reader DC擴充功能用戶端物件。
使用其預設建構子建立ReaderExtensionsServiceClient
對象。
使用System.ServiceModel.EndpointAddress
建構函式建立ReaderExtensionsServiceClient.Endpoint.Address
物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如http://localhost:8080/soap/services/ReaderExtensionsService?blob=mtom
)。 請確定您指定?blob=mtom
。)
獲取ReaderExtensionsServiceClient.Endpoint.Binding
欄位的值,建立System.ServiceModel.BasicHttpBinding
對象。 將返回值轉換為BasicHttpBinding
。
將System.ServiceModel.BasicHttpBinding
物件的MessageEncoding
欄位設為WSMessageEncoding.Mtom
。 此值可確保使用MTOM。
執行下列工作以啟用基本HTTP驗證:
ReaderExtensionsServiceClient.ClientCredentials.UserName.UserName
。ReaderExtensionsServiceClient.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
對象的<a1/>屬性指定位元組陣列的內容來填充BLOB
對象。從PDF檔案移除使用權。
叫用ReaderExtensionsServiceClient
物件的removeUsageRights
方法,並傳遞包含啟用權限的PDF檔案的BLOB
物件,以移除PDF檔案的使用權限。 此方法會傳回BLOB
物件,其中包含沒有使用權限的PDF檔案。
將使用權套用至PDF檔案。
System.IO.FileStream
物件。removeUsageRights
方法返回的BLOB
對象的資料內容。 獲取BLOB
對象MTOM
資料成員的值,以填充位元組陣列。System.IO.BinaryWriter
對象的建構子並傳遞System.IO.FileStream
對象,以建立<a0/>對象。另請參閱
您可以擷取有關憑證的資訊,此憑證用來將使用權套用至具權限的PDF檔案。 通過檢索有關憑據的資訊,您可以獲取諸如證書失效日期之類的資訊。
如需Acrobat Reader DC擴充功能服務的詳細資訊,請參閱AEM Forms的服務參考。
要檢索有關用於將使用權限應用於PDF文檔的憑據的資訊,請執行以下步驟:
包含專案檔案
將必要的檔案加入您的開發專案中。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
建立Acrobat Reader DC擴充功能用戶端物件
您必須先建立Acrobat Reader DC擴充功能服務用戶端物件,才能以程式設計方式執行Acrobat Reader DC擴充功能服務作業。 如果您使用Java API,請建立ReaderExtensionsServiceClient
物件。 如果您使用Acrobat Reader DC擴充功能網站服務API,請建立ReaderExtensionsServiceService
物件。
擷取具權限的PDF檔案
您必須擷取具有權限的PDF檔案,才能擷取憑證的相關資訊。 您也可以通過指定憑據的別名來檢索有關憑據的資訊;不過,如果您想要擷取有關用於將使用權限套用至具特定權限之PDF檔案之憑證的資訊,則必須擷取該檔案。
檢索有關憑據的資訊
擷取具有權限的PDF檔案後,您就可取得有關用來套用使用權限之憑證的資訊。 您可取得有關憑證的下列資訊:
另請參閱
Acrobat Reader DC Extensions Service API快速入門
使用Acrobat Reader DC擴充功能API(Java)擷取憑證資訊:
包含專案檔案。
將用戶端JAR檔案,例如adobe-reader-extensions-client.jar,加入Java專案的類別路徑中。
建立Acrobat Reader DC擴充功能用戶端物件。
使用其建構子並傳遞包含連接屬性的ServiceClientFactory
對象,建立ReaderExtensionsServiceClient
對象。
擷取PDF檔案。
java.io.FileInputStream
物件的建構函式,並傳遞字串值,指定啟用權限的PDF檔案位置,以建立代表啟用權限的PDF檔案的<a0/>物件。java.io.FileInputStream
對象,建立com.adobe.idp.Document
對象。從PDF檔案移除使用權。
ReaderExtensionsServiceClient
物件的getDocumentUsageRights
方法並傳遞包含啟用權限的PDF檔案的com.adobe.idp.Document
物件,以擷取用於套用使用權限之PDF檔案之憑證的相關資訊。 此方法返回包含憑證資訊的GetUsageRightsResult
物件。GetUsageRightsResult
物件的getNotAfter
方法,擷取憑證不再有效的日期。 此方法傳回java.util.Date
物件,該物件代表憑證不再有效的日期。GetUsageRightsResult
物件的getMessage
方法,以擷取啟用權限的PDF檔案開啟時,在Adobe Reader中顯示的訊息。 此方法會傳回代表訊息的字串值。另請參閱
使用Acrobat Reader DC擴充功能API(web service)擷取憑證資訊:
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 請確定您使用下列WSDL定義:http://localhost:8080/soap/services/ReaderExtensionsService?WSDL&lc_version=9.0.1
。
將localhost
取代為代管AEM Forms之伺服器的IP位址。
建立Acrobat Reader DC擴充功能用戶端物件。
使用其預設建構子建立ReaderExtensionsServiceClient
對象。
使用System.ServiceModel.EndpointAddress
建構函式建立ReaderExtensionsServiceClient.Endpoint.Address
物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如http://localhost:8080/soap/services/ReaderExtensionsService?blob=mtom
)。 請確定您指定?blob=mtom
。)
獲取ReaderExtensionsServiceClient.Endpoint.Binding
欄位的值,建立System.ServiceModel.BasicHttpBinding
對象。 將返回值轉換為BasicHttpBinding
。
將System.ServiceModel.BasicHttpBinding
物件的MessageEncoding
欄位設為WSMessageEncoding.Mtom
。 此值可確保使用MTOM。
執行下列工作以啟用基本HTTP驗證:
ReaderExtensionsServiceClient.ClientCredentials.UserName.UserName
。ReaderExtensionsServiceClient.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
對象的<a1/>屬性指定位元組陣列的內容來填充BLOB
對象。從PDF檔案移除使用權。
ReaderExtensionsServiceClient
物件的getDocumentUsageRights
方法並傳遞包含啟用權限的PDF檔案的com.adobe.idp.Document
物件,以擷取用於套用使用權限之PDF檔案之憑證的相關資訊。 此方法返回包含憑據資訊的GetUsageRightsResult
對象。GetUsageRightsResult
物件的notAfter
資料成員的值,以擷取憑證不再有效的日期。 此資料成員的資料類型為System.DateTime
。GetUsageRightsResult
物件message
資料成員的值,擷取在Adobe Reader中開啟具權限的PDF檔案時顯示的訊息。 此資料成員的資料類型是字串。GetUsageRightsResult
對象useCount
資料成員的值,以檢索憑據的使用次數。 此資料成員的資料類型是整數。另請參閱