Distiller®服務可將PostScript®、Encapsulated PostScript(EPS)和PRN檔案透過網路轉換為精簡、可靠且更安全的PDF檔案。 Distiller服務常用於將大量打印文檔轉換為電子文檔,如發票和對帳單。 將檔案轉換為PDF也讓企業可以傳送書面版本和電子版檔案給客戶。
有關Distiller服務的詳細資訊,請參閱Services Reference for AEM Forms。
本主題說明如何使用Distiller Service API(Java和web service)以程式設計方式將PostScript(PS)、封裝的PostScript(EPS)和PRN檔案轉換為PDF檔案。
有關Distiller服務的詳細資訊,請參閱Services Reference for AEM Forms。
若要將PostScript檔案轉換為PDF檔案,下列其中一項需要安裝在代管AEM Forms的伺服器上:Acrobat 9或Microsoft Visual C++ 2005可重新散發的套件。
若要將任何支援的類型轉換為PDF檔案,請執行下列步驟:
包含專案檔案
在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
建立Distiller服務客戶端
在以寫程式方式執行Distiller服務操作之前,必須建立Distiller服務客戶端。 如果您使用Java API,請建立DistillerServiceClient
物件。 如果您使用web service API,請建立DistillerServiceService
物件。
擷取要轉換的檔案
必須檢索要轉換的檔案。 例如,若要將PS檔案轉換為PDF檔案,您必須擷取PS檔案。
叫用PDF建立作業
建立服務用戶端後,您就可以叫用PDF建立作業。 此操作需要有關要轉換的文檔的資訊,包括目標文檔的路徑。
儲存PDF檔案
您可將PDF檔案儲存為PDF檔案。
另請參閱
使用web service API將PostScript檔案轉換為PDF
使用Distiller Service 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
方法返回包含新PDF文檔的CreatePDFResult
對象和可能生成的日誌檔案。 日誌檔案通常包含由轉換請求生成的錯誤或警告消息。
儲存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 Service API(web service)將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
對象的<a1/>屬性指定位元組陣列的內容來填充BLOB
對象。叫用PDF建立作業。
叫用DistillerServiceService
物件的CreatePDF2
方法並傳遞下列必要值:
BLOB
對象Standard
)No Securit
y)BLOB
物件,包含在產生PDF檔案時要套用的設定BLOB
物件,包含要套用至PDF檔案的中繼資料資訊BLOB
輸出參數BLOB
輸出參數儲存PDF檔案。
System.IO.FileStream
對象的建構子建立<a0/>對象。 傳遞一個字串值,代表已簽署PDF檔案的檔案位置以及開啟檔案的模式。CreatePDF2
方法(輸出參數)返回的BLOB
對象的內容。 獲取BLOB
對象MTOM
資料成員的值,以填充位元組陣列。System.IO.BinaryWriter
對象的建構子並傳遞System.IO.FileStream
對象,以建立<a0/>對象。System.IO.BinaryWriter
物件的Write
方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。另請參閱