使用Java API將PDF文檔轉換為PS
使用「轉換PDF服務API」(Java)將PDF文檔轉換為PostScript:
-
包含專案檔案。
在Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-convertpdf-client.jar。
-
建立轉換PDF客戶端。
- 建立
ServiceClientFactory
包含連接屬性的對象。 - 建立
ConvertPdfServiceClient
對象,使用其建構子並傳遞ServiceClientFactory
物件。
- 建立
-
參考PDF文檔以轉換為PostScript檔案。
- 建立
java.io.FileInputStream
對象,使用其建構子並傳遞一個字串值,該字串值指定要轉換的PDF文檔的位置。 - 建立
com.adobe.idp.Document
用於儲存PDF文檔的對象,方法是使用com.adobe.idp.Document
建構子。 傳遞java.io.FileInputStream
包含PDF文檔的對象。
- 建立
-
設定轉換執行時間選項。
- 建立
ToPSOptionsSpec
對象,方法是調用其建構子。 - 調用屬於的適當方法,以設定執行時選項
ToPSOptionsSpec
物件。 例如,要定義已建立的PostScript級別,請調用ToPSOptionsSpec
物件setPsLevel
方法和傳遞PSLevel
指定PostScript級別的枚舉值。 如需可設定之所有執行階段值的相關資訊,請參閱ToPSOptionsSpec
類引用 AEM Forms API參考.
- 建立
-
將PDF文檔轉換為PostScript檔案。
叫用
ConvertPdfServiceClient
物件toPS2
方法,並傳遞下列值:- A
com.adobe.idp.Document
表示要轉換為PostScript檔案的PDF文檔的對象。 - A
ToPSOptionsSpec
指定PostScript運行時選項的對象。
此
toPS2
方法傳回Document
包含新PostScript文檔的對象。 - A
-
儲存PostScript檔案。
- 建立
java.io.File
物件,並確定副檔名為.ps。 - 叫用
Document
物件copyToFile
複製內容的方法Document
物件(請確定您使用Document
由傳回的物件toPS2
方法)。
- 建立
使用Web服務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
物件,使用其預設建構函式。 -
建立
ConvertPdfServiceClient.Endpoint.Address
物件,使用System.ServiceModel.EndpointAddress
建構子。 將指定WSDL的字串值傳遞至AEM Forms服務(例如http://localhost:8080/soap/services/ConvertPDFService?blob=mtom
.) 您不需要使用lc_version
屬性。 不過,請指定?blob=mtom
. -
建立
System.ServiceModel.BasicHttpBinding
物件,方法是取得ConvertPdfServiceClient.Endpoint.Binding
欄位。 將傳回值轉換為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表單使用者名稱指派給欄位
-
-
參考PDF文檔以轉換為PostScript檔案。
- 建立
BLOB
物件,使用其建構子。 此BLOB
對象用於儲存轉換為PostScript檔案的PDF文檔。 - 建立
System.IO.FileStream
對象,方法是調用其建構子,並傳遞一個字串值,該字串值表示要轉換的PDF文檔的檔案位置以及在中開啟檔案的模式。 - 建立位元組陣列,用於儲存
System.IO.FileStream
物件。 您可以取得System.IO.FileStream
物件Length
屬性。 - 叫用
System.IO.FileStream
物件Read
方法及傳遞位元組陣列、起始位置及資料流長度以讀取。 - 填入
BLOB
對象,通過賦值MTOM
位元組陣列內容的欄位。
- 建立
-
設定轉換執行時間選項。
- 建立
ToPSOptionsSpec
對象,方法是調用其建構子。 - 為
ToPSOptionsSpec
對象的資料成員。 例如,若要定義所建立的PostScript層級,請指派PSLevel
枚舉值ToPSOptionsSpec
物件psLevel
資料成員。
- 建立
-
將PDF文檔轉換為PostScript檔案。
叫用
GeneratePDFServiceService
物件toPS2
方法,並傳遞下列值:- A
BLOB
表示要轉換為PostScript檔案的PDF文檔的對象 - A
ToPSOptionsSpec
指定運行時選項的對象
轉換完成後,通過訪問PostScript文檔來提取代表該文檔的二進位資料
BLOB
物件MTOM
屬性。 這會傳回位元組陣列,您可將其寫出至PostScript檔案。 - A
-
儲存PostScript檔案。
- 建立
System.IO.FileStream
對象,方法是調用其建構子。 傳遞代表PS檔案檔案位置的字串值。 - 建立位元組陣列,用於儲存
BLOB
由傳回的物件encryptPDFUsingPassword
方法。 取得BLOB
物件MTOM
欄位。 - 建立
System.IO.BinaryWriter
對象,調用其建構子並傳遞System.IO.FileStream
物件。 - 調用
System.IO.BinaryWriter
物件Write
方法,並傳遞位元組陣列。
- 建立
將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文檔.)
設定運行時選項
必須設定運行時選項,如影像格式和解析度值。 如需執行時值的相關資訊,請參閱 ToImageOptionsSpec
類引用 AEM Forms API參考.
將PDF轉換為影像
建立服務客戶端並設定運行時選項後,可以將PDF文檔轉換為影像。 會傳回包含影像的集合物件。
從集合中擷取影像檔案
您可以從轉換PDF服務傳回的集合物件擷取影像檔案。 集合中的每個元素都是 com.adobe.idp.Document
例項(或 BLOB
例項(若您使用web服務),可儲存為影像檔案,例如JPG檔案。
影像檔案的格式取決於 ImageConvertFormat
執行時選項。 也就是說,若您設定 ImageConvertFormat
運行時選項 ImageConvertFormat.JPEG
,您可以將影像檔案儲存為JPG檔案。
另請參閱
使用Java API將PDF檔案轉換為影像檔案
使用「轉換PDF服務API(Java)」將PDF文檔轉換為影像格式:
-
包含專案檔案。
在Java專案的類別路徑中加入用戶端JAR檔案,例如adobe-convertpdf-client.jar。
-
建立轉換PDF客戶端。
- 建立
ServiceClientFactory
包含連接屬性的對象。 - 建立
ConvertPdfServiceClient
對象,使用其建構子並傳遞ServiceClientFactory
物件。
- 建立
-
檢索要轉換的PDF文檔。
- 建立
java.io.FileInputStream
表示要轉換的PDF文檔的對象,方法是使用其建構子並傳遞指定PDF文檔位置的字串值。 - 建立
com.adobe.idp.Document
對象,使用其建構子並傳遞java.io.FileInputStream
物件。
- 建立
-
設定運行時選項。
- 建立
ToImageOptionsSpec
物件,使用其建構子。 - 根據需要調用屬於此對象的方法。 例如,借由叫用
setImageConvertFormat
方法並傳遞ImageConvertFormat
指定格式類型的枚舉值。
注意
設定ImageConvertFormat
枚舉值是必需的。 - 建立
-
將PDF轉換為影像。
叫用
ConvertPdfServiceClient
物件toImage2
方法,並傳遞下列值:- A
com.adobe.idp.Document
表示要轉換的PDF檔案的對象。 - A
com.adobe.livecycle.converpdfservice.client.ToImageOptionsSpec
包含有關目標影像格式的各種首選項的對象。
此
toImage2
方法傳回java.util.List
包含影像的物件。 集合中的每個元素都是com.adobe.idp.Document
例項。 - A
-
從集合中擷取影像檔案。
重複
java.util.List
物件,以判斷影像是否存在。 每個元素都是com.adobe.idp.Document
例項。 叫用com.adobe.idp.Document
物件copyToFile
方法和傳遞java.io.File
物件。
使用Web服務API將PDF文檔轉換為影像檔案
使用「轉換PDF服務API(Web服務)」將PDF文檔轉換為影像格式:
-
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 確保使用以下WSDL定義:
http://localhost:8080/soap/services/ConvertPDFService?WSDL&lc_version=9.0.1
.注意
取代localhost
和托管AEM Forms之伺服器的IP位址。 -
建立轉換PDF客戶端。
-
建立
ConvertPdfServiceClient
物件,使用其預設建構函式。 -
建立
ConvertPdfServiceClient.Endpoint.Address
物件,使用System.ServiceModel.EndpointAddress
建構子。 將指定WSDL的字串值傳遞至AEM Forms服務(例如http://localhost:8080/soap/services/ConvertPDFService?blob=mtom
.) 您不需要使用lc_version
屬性。 不過,請指定?blob=mtom
. -
建立
System.ServiceModel.BasicHttpBinding
物件,方法是取得ConvertPdfServiceClient.Endpoint.Binding
欄位。 將傳回值轉換為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表單使用者名稱指派給欄位
-
-
檢索要轉換的PDF文檔。
- 建立
BLOB
物件,使用其建構子。 此BLOB
物件可用來儲存PDF表單。 - 建立
System.IO.FileStream
對象,方法是調用其建構子。 傳遞一個字串值,指定PDF表單的位置,以及在中開啟檔案的模式。 - 建立位元組陣列,用於儲存
System.IO.FileStream
物件。 透過取得System.IO.FileStream
物件Length
屬性。 - 叫用
System.IO.FileStream
物件Read
方法。 傳遞位元組陣列、起始位置和資料流長度以讀取。 - 填入
BLOB
對象,通過賦值MTOM
位元組陣列內容的欄位。
- 建立
-
設定運行時選項。
- 建立
ToImageOptionsSpec
物件,使用其建構子。 - 根據需要調用屬於此對象的方法。 例如,借由叫用
setImageConvertFormat
方法並傳遞ImageConvertFormat
指定格式類型的枚舉值。
注意
設定ImageConvertFormat
枚舉值是必需的。 - 建立
-
將PDF轉換為影像。
叫用
ConvertPDFServiceService
物件toImage2
方法,並傳遞下列值:- A
BLOB
表示要轉換的檔案的對象 - A
ToImageOptionsSpec
包含有關目標影像格式的各種首選項的對象
此
toImage2
方法傳回MyArrayOfBLOB
包含新建立的影像檔案的對象。 - A
-
從集合中擷取影像檔案。
- 決定
MyArrayOfBLOB
物件,方法是取得其值Count
欄位。 每個元素都是BLOB
包含影像的物件。 - 重複
MyArrayOfBLOB
物件,並儲存每個影像檔案。
- 決定