本檔案中的範例和範例僅適用於JEE環境上的AEM Forms。
Distiller®服務通過網路將PostScript®、Encapsuled PostScript(EPS)和PRN檔案轉換為精簡、可靠且更安全的PDF檔案。 Distiller服務經常用於將大量印刷檔案轉換為電子檔案,如發票和報表。 將文檔轉換為PDF還允許企業向其客戶發送文檔的紙面版本和電子版本。
如需Distiller服務的詳細資訊,請參閱 AEM Forms服務參考.
本主題說明如何使用Distiller服務API(Java和Web服務),以程式設計方式將PostScript(PS)、封裝的PostScript(EPS)和PRN檔案轉換為PDF文檔。
如需Distiller服務的詳細資訊,請參閱 AEM Forms服務參考.
若要將PostScript檔案轉換為PDF檔案,必須在托管AEM Forms的伺服器上安裝下列其中一項:Acrobat 9或Microsoft Visual C++ 2005可再發行套件。
要將任何支援的類型轉換為PDF文檔,請執行以下步驟:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。
建立Distiller服務用戶端
您必須先建立Distiller服務用戶端,才能以程式設計方式執行Distiller服務作業。 如果您使用Java API,請建立 DistillerServiceClient
物件。 如果您使用網站服務API,請建立 DistillerServiceService
物件。
擷取要轉換的檔案
必須檢索要轉換的檔案。 例如,要將PS檔案轉換為PDF文檔,必須檢索PS檔案。
調用PDF建立操作
建立服務客戶端後,可以調用PDF建立操作。 此操作需要有關要轉換的文檔的資訊,包括目標文檔的路徑。
保存PDF文檔
可以將PDF文檔另存為PDF檔案。
另請參閱
使用Distiller服務API(Java)將PostScript檔案轉換為PDF檔案:
包含專案檔案。
在Java項目的類路徑中包含客戶端JAR檔案,如adobe-distiller-client.jar。
建立Distiller服務用戶端。
ServiceClientFactory
包含連接屬性的對象。DistillerServiceClient
對象,使用其建構子並傳遞 ServiceClientFactory
物件。擷取要轉換的檔案。
java.io.FileInputStream
使用其建構子並傳遞指定檔案位置的字串值來表示要轉換的檔案的對象。com.adobe.idp.Document
對象,使用其建構子並傳遞 java.io.FileInputStream
物件。調用PDF建立操作。
叫用 DistillerServiceClient
物件 createPDF
方法,並傳遞下列值:
com.adobe.idp.Document
表示要轉換的PS、EPS或PRN檔案的對象java.lang.String
包含要轉換的檔案名稱的對象java.lang.String
包含要使用的Adobe PDF設定名稱的物件java.lang.String
包含要使用的安全設定名稱的對象com.adobe.idp.Document
包含在生成PDF文檔時要應用的設定的對象com.adobe.idp.Document
包含要應用到PDF文檔的元資料資訊的對象此 createPDF
方法傳回 CreatePDFResult
包含新PDF文檔的對象和可生成的日誌檔案。 記錄檔通常包含轉換請求產生的錯誤或警告訊息。
保存PDF文檔。
要獲取新建立的PDF文檔,請執行以下操作:
CreatePDFResult
物件 getCreatedDocument
方法。 這會傳回 com.adobe.idp.Document
物件。com.adobe.idp.Document
物件 copyToFile
方法來擷取PDF檔案。同樣,要獲取日誌文檔,請執行以下操作。
CreatePDFResult
物件 getLogDocument
方法。 這會傳回 com.adobe.idp.Document
物件。com.adobe.idp.Document
物件 copyToFile
方法來擷取記錄檔。另請參閱
快速入門(SOAP模式):使用Java API將PostScript檔案轉換為PDF檔案
使用Distiller服務API(網站服務)將PostScript檔案轉換為PDF檔案:
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 確保使用以下WSDL定義: http://localhost:8080/soap/services/DistillerService?WSDL&lc_version=9.0.1
.
取代 localhost
和托管AEM Forms之伺服器的IP位址。
建立Distiller服務用戶端。
建立 DistillerServiceClient
物件,使用其預設建構函式。
建立 DistillerServiceClient.Endpoint.Address
物件,使用 System.ServiceModel.EndpointAddress
建構子。 將指定WSDL的字串值傳遞至AEM Forms服務(例如 http://localhost:8080/soap/services/DistillerService?blob=mtom
.) 您不需要使用 lc_version
屬性。 建立服務參考時,會使用此屬性。 不過,請指定 ?blob=mtom
來使用MTOM。
建立 System.ServiceModel.BasicHttpBinding
物件,方法是取得 DistillerServiceClient.Endpoint.Binding
欄位。 將傳回值轉換為 BasicHttpBinding
.
設定 System.ServiceModel.BasicHttpBinding
物件 MessageEncoding
欄位至 WSMessageEncoding.Mtom
. 此值可確保使用MTOM。
通過執行以下任務來啟用基本HTTP身份驗證:
DistillerServiceClient.ClientCredentials.UserName.UserName
.DistillerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
欄位 BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
欄位 BasicHttpBindingSecurity.Security.Mode
.擷取要轉換的檔案。
BLOB
物件,使用其建構子。 此 BLOB
對象用於儲存要轉換為PDF文檔的檔案。System.IO.FileStream
對象,方法是調用其建構子並傳遞一個字串值,該字串值表示檔案位置和在中開啟檔案的模式。System.IO.FileStream
物件。 您可以取得 System.IO.FileStream
物件 Length
屬性。System.IO.FileStream
物件 Read
方法,並傳遞位元組陣列、起始位置及流長度以讀取。BLOB
對象,通過賦值 MTOM
屬性(包含位元組陣列的內容)。調用PDF建立操作。
叫用 DistillerServiceService
物件 CreatePDF2
方法,並傳遞下列必要值:
BLOB
表示要轉換的PS檔案的對象Standard
)No Securit
y)BLOB
包含在生成PDF文檔時要應用的設定的對象BLOB
包含要應用到PDF文檔的元資料資訊的對象BLOB
用於儲存PDF文檔的輸出參數BLOB
用於儲存日誌的輸出參數保存PDF文檔。
System.IO.FileStream
對象,方法是調用其建構子。 傳遞一個字串值,該字串值表示已簽名PDF文檔的檔案位置以及開啟檔案的模式。BLOB
由傳回的物件 CreatePDF2
方法(輸出參數)。 取得 BLOB
物件 MTOM
資料成員。System.IO.BinaryWriter
對象,調用其建構子並傳遞 System.IO.FileStream
物件。System.IO.BinaryWriter
物件 Write
方法,並傳遞位元組陣列。另請參閱