Distiller®服務可將PostScript®、封裝的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
物件。 如果您使用Web服務API,請建立DistillerServiceService
物件。
擷取要轉換的檔案
必須檢索要轉換的檔案。 例如,要將PS檔案轉換為PDF文檔,必須檢索PS檔案。
調用PDF建立操作
建立服務客戶端後,可以調用PDF建立操作。 此操作需要有關要轉換的文檔的資訊,包括目標文檔的路徑。
儲存PDF檔案
您可以將PDF檔案儲存為PDF檔案。
另請參閱
使用Distiller服務API(Java)將PostScript檔案轉換為PDF檔案:
包含專案檔案。
在Java項目的類路徑中包含客戶端JAR檔案,如adobe-distiller-client.jar。
建立Distiller服務用戶端。
ServiceClientFactory
對象。ServiceClientFactory
物件,以建立DistillerServiceClient
物件。擷取要轉換的檔案。
java.io.FileInputStream
對象,該對象使用其建構子並傳遞一個指定檔案位置的字串值來表示要轉換的檔案。java.io.FileInputStream
物件,以建立com.adobe.idp.Document
物件。調用PDF建立操作。
調用DistillerServiceClient
對象的createPDF
方法並傳遞以下值:
com.adobe.idp.Document
對象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(Web服務)將PostScript檔案轉換為PDF檔案:
包含專案檔案。
建立使用MTOM的Microsoft .NET項目。 確保使用以下WSDL定義:http://localhost:8080/soap/services/DistillerService?WSDL&lc_version=9.0.1
。
將localhost
取代為托管AEM Forms之伺服器的IP位址。
建立Distiller服務用戶端。
使用其預設建構子建立DistillerServiceClient
物件。
使用System.ServiceModel.EndpointAddress
建構子建立DistillerServiceClient.Endpoint.Address
物件。 將指定WSDL的字串值傳遞到AEM Forms服務(例如http://localhost:8080/soap/services/DistillerService?blob=mtom
)。 您不需要使用lc_version
屬性。 建立服務參考時,會使用此屬性。 但請指定?blob=mtom
以使用MTOM。
獲取DistillerServiceClient.Endpoint.Binding
欄位的值,建立System.ServiceModel.BasicHttpBinding
對象。 將傳回值轉換為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
方法並傳遞要讀取的位元組陣列、啟動位置和流長度,以流資料填充位元組陣列。MTOM
物件指派包含位元組陣列內容的屬性,以填入BLOB
物件。調用PDF建立操作。
調用DistillerServiceService
對象的CreatePDF2
方法並傳遞以下必需值:
BLOB
對象Standard
)No Securit
y)BLOB
物件,包含產生PDF檔案時要套用的設定BLOB
對象,包含要應用於PDF文檔的元資料資訊BLOB
輸出參數BLOB
輸出參數保存PDF文檔。
System.IO.FileStream
對象的建構子以建立對象。 傳遞一個字串值,該字串值表示已簽名PDF文檔的檔案位置以及開啟檔案的模式。CreatePDF2
方法(輸出參數)返回的BLOB
對象的內容。 獲取BLOB
對象的MTOM
資料成員的值,以填充位元組陣列。System.IO.FileStream
對象來建立System.IO.BinaryWriter
對象。System.IO.BinaryWriter
對象的Write
方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。另請參閱