使用Java API將PDF檔案轉換為PS
使用轉換PDF服務API (Java)將PDF檔案轉換為PostScript:
-
包含專案檔案。
在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-convertpdf-client.jar。
-
建立轉換PDF使用者端。
- 建立包含連線屬性的
ServiceClientFactory
物件。 - 使用它的建構函式並傳遞
ServiceClientFactory
物件來建立ConvertPdfServiceClient
物件。
- 建立包含連線屬性的
-
參照要轉換成PostScript檔案的PDF檔案。
- 使用物件的建構函式建立
java.io.FileInputStream
物件,並傳遞字串值,指定轉換PDF檔案的位置。 - 使用
com.adobe.idp.Document
建構函式建立儲存PDF檔案的com.adobe.idp.Document
物件。 傳遞包含PDF檔案的java.io.FileInputStream
物件。
- 使用物件的建構函式建立
-
設定轉換執行階段選項。
- 透過叫用它的建構函式來建立
ToPSOptionsSpec
物件。 - 透過叫用屬於
ToPSOptionsSpec
物件的適當方法來設定執行階段選項。 例如,若要定義已建立的PostScript層級,請叫用ToPSOptionsSpec
物件的setPsLevel
方法,並傳遞指定PostScript層級的PSLevel
列舉值。 如需您可以設定的所有執行階段值相關資訊,請參閱AEM Forms API參考中的ToPSOptionsSpec
類別參考。
- 透過叫用它的建構函式來建立
-
將PDF檔案轉換為PostScript檔案。
叫用
ConvertPdfServiceClient
物件的toPS2
方法,並傳遞下列值:- 代表要轉換成PostScript檔案之PDF檔案的
com.adobe.idp.Document
物件。 - 指定PostScript執行階段選項的
ToPSOptionsSpec
物件。
toPS2
方法傳回包含新PostScript檔案的Document
物件。 - 代表要轉換成PostScript檔案之PDF檔案的
-
儲存PostScript檔案。
- 建立
java.io.File
物件,並確定副檔名為.ps。 - 叫用
Document
物件的copyToFile
方法,將Document
物件的內容複製到檔案(請確定您使用的是toPS2
方法傳回的Document
物件)。
- 建立
使用網站服務API將PDF檔案轉換為PS
使用轉換PDF服務API (Web服務),將PDF檔案轉換為PostScript:
-
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 確定您使用下列WSDL定義:
http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1
。注意
將localhost
取代為主控AEM Forms之伺服器的IP位址。 -
建立轉換PDF使用者端。
-
使用預設建構函式建立
ConvertPdfServiceClient
物件。 -
使用
System.ServiceModel.EndpointAddress
建構函式建立ConvertPdfServiceClient.Endpoint.Address
物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如,http://localhost:8080/soap/services/ConvertPDFService?blob=mtom
)。 您不需要使用lc_version
屬性。 但是,請指定?blob=mtom
。 -
取得
ConvertPdfServiceClient.Endpoint.Binding
欄位的值,以建立System.ServiceModel.BasicHttpBinding
物件。 將傳回值轉換為BasicHttpBinding
。 -
將
System.ServiceModel.BasicHttpBinding
物件的MessageEncoding
欄位設為WSMessageEncoding.Mtom
。 此值可確保使用MTOM。 -
執行下列工作來啟用基本的HTTP驗證:
- 將AEM表單使用者名稱指派給欄位
ConvertPdfServiceClient.ClientCredentials.UserName.UserName
。 - 將對應的密碼值指派給欄位
ConvertPdfServiceClient.ClientCredentials.UserName.Password
。 - 將常數值
HttpClientCredentialType.Basic
指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。 - 將常數值
BasicHttpSecurityMode.TransportCredentialOnly
指派給欄位BasicHttpBindingSecurity.Security.Mode
。
- 將AEM表單使用者名稱指派給欄位
-
-
參照要轉換成PostScript檔案的PDF檔案。
- 使用物件的建構函式建立
BLOB
物件。BLOB
物件是用來儲存已轉換為PostScript檔案的PDF檔案。 - 建立
System.IO.FileStream
物件,方法為叫用其建構函式,並傳遞代表要轉換之PDF檔案的檔案位置以及開啟檔案的模式的字串值。 - 建立位元組陣列以儲存
System.IO.FileStream
物件的內容。 您可以取得System.IO.FileStream
物件的Length
屬性來決定位元組陣列的大小。 - 叫用
System.IO.FileStream
物件的Read
方法,並將位元組陣列、起始位置及資料流長度傳入,以使用資料流資料填入位元組陣列。 - 以位元組陣列的內容指派其
MTOM
欄位,填入BLOB
物件。
- 使用物件的建構函式建立
-
設定轉換執行階段選項。
- 透過叫用它的建構函式來建立
ToPSOptionsSpec
物件。 - 將值指派給
ToPSOptionsSpec
物件的資料成員,以設定執行階段選項。 例如,若要定義已建立的PostScript層級,請將PSLevel
列舉值指派給ToPSOptionsSpec
物件的psLevel
資料成員。
- 透過叫用它的建構函式來建立
-
將PDF檔案轉換為PostScript檔案。
叫用
GeneratePDFServiceService
物件的toPS2
方法,並傳遞下列值:- 代表要轉換成PostScript檔案之PDF檔案的
BLOB
物件 - 指定執行階段選項的
ToPSOptionsSpec
物件
轉換完成後,存取其
BLOB
物件的MTOM
屬性,以擷取代表PostScript檔案的二進位資料。 這會傳回您可以寫出至PostScript檔案的位元組陣列。 - 代表要轉換成PostScript檔案之PDF檔案的
-
儲存PostScript檔案。
- 透過叫用它的建構函式來建立
System.IO.FileStream
物件。 傳遞代表PS檔案之檔案位置的字串值。 - 建立位元組陣列,儲存
encryptPDFUsingPassword
方法傳回的BLOB
物件的資料內容。 取得BLOB
物件的MTOM
欄位值,以填入位元組陣列。 - 透過叫用它的建構函式並傳遞
System.IO.FileStream
物件來建立System.IO.BinaryWriter
物件。 - 呼叫
System.IO.BinaryWriter
物件的Write
方法並傳遞位元組陣列,以將位元組陣列的內容寫入PostScript檔案。
- 透過叫用它的建構函式來建立
將PDF檔案轉換為影像格式
您可以使用轉換PDF服務,以程式設計方式將PDF檔案轉換為影像格式,包括JPEG、JPEG2000、TIFF和PNG。 透過將PDF檔案轉換為影像檔案,您可以將PDF檔案用作影像檔案。 例如,您可以將影像放入企業內容管理系統以進行儲存。
將PDF檔案轉換為影像時,轉換PDF服務會為檔案中的每個頁面建立個別的影像。 也就是說,如果檔案有20頁,轉換PDF服務會建立20個影像檔案。 將PDF檔案轉換為影像格式時,您可以為PDF檔案中的每個頁面建立個別影像,或為整個PDF檔案建立單一影像檔案。
步驟摘要
若要將PDF檔案轉換為任何支援的型別,請執行下列步驟:
- 包含專案檔案。
- 建立轉換PDF服務使用者端。
- 擷取要轉換的PDF檔案。
- 設定執行階段選項。
- 將PDF轉換為影像。
- 從集合中擷取影像檔案。
包含專案檔
將必要的檔案納入您的開發專案中。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請務必包含Proxy檔案。
建立轉換PDF使用者端
您必須先建立轉換PDF服務使用者端,才能以程式設計方式執行轉換PDF服務作業。 如果您使用Java API,請建立ConvertPdfServiceClient
物件。 如果您使用網站服務API,請建立ConvertPDFServiceService
物件。
擷取要轉換的PDF檔案
擷取PDF檔案以轉換為影像。 您無法將互動式PDF檔案轉換為影像。 如果嘗試這麼做,會發生例外狀況。 若要將互動式PDF檔案轉換為影像檔案,您必須先將PDF檔案平面化,才能進行轉換。 (請參閱將PDF檔案平面化。)
設定執行階段選項
設定執行階段選項,例如影像格式和解析度值。 如需有關執行階段值的資訊,請參閱AEM Forms API參考中的ToImageOptionsSpec
類別參考。
將PDF轉換為影像
建立服務使用者端並設定執行階段選項後,您可以將PDF檔案轉換為影像。 會傳回包含影像的集合物件。
從集合擷取影像檔案
您可以從ConvertPDF服務傳回的集合物件擷取影像檔案。 集合中的每個元素都是可儲存為影像檔案(例如JPG檔案)的com.adobe.idp.Document
執行個體(或如果您使用Web服務則為BLOB
執行個體)。
影像檔案的格式取決於ImageConvertFormat
執行階段選項。 也就是說,如果您將ImageConvertFormat
執行階段選項設為ImageConvertFormat.JPEG
,您可以將影像檔案儲存為JPG檔案。
另請參閱
使用Java API將PDF檔案轉換為影像檔案
使用轉換PDF服務API (Java)將PDF檔案轉換為影像格式:
-
包含專案檔案。
在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-convertpdf-client.jar。
-
建立轉換PDF使用者端。
- 建立包含連線屬性的
ServiceClientFactory
物件。 - 使用它的建構函式並傳遞
ServiceClientFactory
物件來建立ConvertPdfServiceClient
物件。
- 建立包含連線屬性的
-
擷取要轉換的PDF檔案。
- 建立代表要轉換之PDF檔案的
java.io.FileInputStream
物件,方法是使用其建構函式,並傳遞指定PDF檔案位置的字串值。 - 使用它的建構函式並傳遞
java.io.FileInputStream
物件來建立com.adobe.idp.Document
物件。
- 建立代表要轉換之PDF檔案的
-
設定執行階段選項。
- 使用物件的建構函式建立
ToImageOptionsSpec
物件。 - 視需要叫用屬於此物件的方法。 例如,透過叫用
setImageConvertFormat
方法並傳遞指定格式型別的ImageConvertFormat
列舉值來設定影像型別。
注意
必須設定ImageConvertFormat
列舉值。 - 使用物件的建構函式建立
-
將PDF轉換為影像。
叫用
ConvertPdfServiceClient
物件的toImage2
方法,並傳遞下列值:- 代表要轉換之PDF檔案的
com.adobe.idp.Document
物件。 - 包含目標影像格式各種偏好設定的
com.adobe.livecycle.converpdfservice.client.ToImageOptionsSpec
物件。
toImage2
方法傳回包含影像的java.util.List
物件。 集合中的每個元素都是com.adobe.idp.Document
執行個體。 - 代表要轉換之PDF檔案的
-
從集合中擷取影像檔案。
逐一檢視
java.util.List
物件,以判斷影像是否存在。 每個元素都是com.adobe.idp.Document
執行個體。 叫用com.adobe.idp.Document
物件的copyToFile
方法並傳遞java.io.File
物件以儲存影像。