將Word文檔轉換為PDF文檔

本節說明如何使用「產生PDFAPI」,以程式設計方式將Microsoft Word檔案轉換為PDF檔案。

注意
如需其他檔案格式的詳細資訊,請參閱 新增對其他原生檔案格式的支援.
注意
如需產生PDF服務的詳細資訊,請參閱 AEM Forms服務參考.

步驟摘要

要將Microsoft Word文檔轉換為PDF文檔,請執行以下任務:

  1. 包含專案檔案。
  2. 建立「生成PDF」客戶端。
  3. 檢索要轉換為PDF文檔的檔案。
  4. 將檔案轉換為PDF文檔。
  5. 檢索結果。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。

建立生成PDF客戶端

在以寫程式方式執行「生成PDF」操作之前,請建立「生成PDF」服務客戶端。 如果您使用Java API,請建立 GeneratePdfServiceClient 物件。 如果您使用網站服務API,請建立 GeneratePDFServiceService 物件。

檢索要轉換為PDF文檔的檔案

檢索Microsoft Word文檔以轉換為PDF文檔。

將檔案轉換為PDF文檔

建立「生成PDF」服務客戶端後,可以調用 createPDF2 方法。 此方法需要有關要轉換的文檔的資訊,包括副檔名。

擷取結果

將檔案轉換為PDF文檔後,可以檢索結果。 例如,將Word檔案轉換為PDF文檔後,可以檢索並保存PDF文檔。

另請參閱

使用Java API將Word文檔轉換為PDF文檔

使用Web服務API將Word文檔轉換為PDF文檔

包含AEM Forms Java程式庫檔案

設定連接屬性

產生PDF服務API快速入門

使用Java API將Word文檔轉換為PDF文檔

使用「產生MicrosoftAPI(Java)」將PDF Word檔案轉換為PDF檔案:

  1. 包含專案檔案。

    在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-generatepdf-client.jar。

  2. 建立「生成PDF」客戶端。

    • 建立 ServiceClientFactory 包含連接屬性的對象。
    • 建立 GeneratePdfServiceClient 對象,使用其建構子並傳遞 ServiceClientFactory 物件。
  3. 檢索要轉換為PDF文檔的檔案。

    • 建立 java.io.FileInputStream 使用其建構子表示要轉換的Word檔案的對象。 傳遞指定檔案位置的字串值。
    • 建立 com.adobe.idp.Document 對象,使用其建構子並傳遞 java.io.FileInputStream 物件。
  4. 將檔案轉換為PDF文檔。

    調用 GeneratePdfServiceClient 物件 createPDF2 方法並傳遞下列值:

    • A com.adobe.idp.Document 表示要轉換的檔案的對象。
    • A java.lang.String 包含副檔名的物件。
    • A java.lang.String 包含要用於轉換的檔案類型設定的物件。 檔案類型設定提供不同檔案類型(如.doc或.xls)的轉換設定。
    • A java.lang.String 包含要使用的PDF設定名稱的物件。 例如,您可以指定 Standard.
    • A java.lang.String 包含要使用的安全設定名稱的對象。
    • 可選 com.adobe.idp.Document 包含在生成PDF文檔時要應用的設定的對象。
    • 可選 com.adobe.idp.Document 包含要應用到PDF文檔的元資料資訊的對象。

    createPDF2 方法傳回 CreatePDFResult 包含新PDF文檔和日誌資訊的對象。 記錄檔通常包含轉換請求產生的錯誤或警告訊息。

  5. 檢索結果。

    要獲取PDF文檔,請執行以下操作:

    • 叫用 CreatePDFResult 物件 getCreatedDocument 方法,返回 com.adobe.idp.Document 物件。
    • 叫用 com.adobe.idp.Document 物件 copyToFile 方法,從上一步中建立的物件中擷取PDF檔案。

    如果您使用 createPDF2 要獲取日誌文檔的方法(不適用於HTML轉換),請執行以下操作:

    • 叫用 CreatePDFResult 物件 getLogDocument 方法。 這會傳回 com.adobe.idp.Document 物件。
    • 叫用 com.adobe.idp.Document 物件 copyToFile 方法來擷取記錄檔。

使用Web服務API將Word文檔轉換為PDF文檔

使用「產生MicrosoftAPI」(Web服務)將PDF Word檔案轉換為PDF檔案:

  1. 包含專案檔案。

    建立使用MTOM的Microsoft .NET專案。 確保使用以下WSDL定義: http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1.

    注意
    取代 localhost 和托管AEM Forms之伺服器的IP位址。
  2. 建立「生成PDF」客戶端。

    • 建立 GeneratePDFServiceClient 物件,使用其預設建構函式。

    • 建立 GeneratePDFServiceClient.Endpoint.Address 物件,使用 System.ServiceModel.EndpointAddress 建構子。 將指定WSDL的字串值傳遞至AEM Forms服務(例如 http://localhost:8080/soap/services/GeneratePDFService?blob=mtom.) 您不需要使用 lc_version 屬性。 不過,請指定 ?blob=mtom.

    • 建立 System.ServiceModel.BasicHttpBinding 物件,方法是取得 GeneratePDFServiceClient.Endpoint.Binding 欄位。 將傳回值轉換為 BasicHttpBinding.

    • 設定 System.ServiceModel.BasicHttpBinding 物件 MessageEncoding 欄位至 WSMessageEncoding.Mtom. 此值可確保使用MTOM。

    • 通過執行以下任務來啟用基本HTTP身份驗證:

      • 將AEM表單使用者名稱指派給欄位 GeneratePDFServiceClient.ClientCredentials.UserName.UserName.
      • 為欄位分配相應的密碼值 GeneratePDFServiceClient.ClientCredentials.UserName.Password.
      • 指派常數值 HttpClientCredentialType.Basic 欄位 BasicHttpBindingSecurity.Transport.ClientCredentialType.
      • 指派常數值 BasicHttpSecurityMode.TransportCredentialOnly 欄位 BasicHttpBindingSecurity.Security.Mode.
  3. 檢索要轉換為PDF文檔的檔案。

    • 建立 BLOB 物件,使用其建構子。 此 BLOB 對象用於儲存要轉換為PDF文檔的檔案。
    • 建立 System.IO.FileStream 對象,方法是調用其建構子。 傳遞一個字串值,該字串值表示要轉換的檔案的檔案位置以及開啟檔案的模式。
    • 建立位元組陣列,用於儲存 System.IO.FileStream 物件。 您可以取得 System.IO.FileStream 物件 Length 屬性。
    • 叫用 System.IO.FileStream 物件 Read 方法,並傳遞位元組陣列、起始位置及流長度以讀取。
    • 填入 BLOB 對象,通過為其分配 MTOM 屬性位元組陣列的內容。
  4. 將檔案轉換為PDF文檔。

    調用 GeneratePDFServiceService 物件 CreatePDF2 方法並傳遞下列值:

    • A BLOB 表示要轉換的檔案的物件。
    • 包含副檔名的字串。
    • A java.lang.String 包含要用於轉換的檔案類型設定的物件。 檔案類型設定提供不同檔案類型(如.doc或.xls)的轉換設定。
    • 包含要使用的PDF設定的字串物件。 您可以指定 Standard.
    • 包含要使用的安全設定的字串對象。 您可以指定 No Security.
    • 可選 BLOB 包含在生成PDF文檔時要應用的設定的對象。
    • 可選 BLOB 包含要應用到PDF文檔的元資料資訊的對象。
    • 類型的輸出參數 BLOBCreatePDF2 方法。 此 CreatePDF2 方法會以轉換的檔案填入此物件。 (此參數值僅對於Web服務調用是必需的)。
    • 類型的輸出參數 BLOBCreatePDF2 方法。 此 CreatePDF2 方法會以記錄檔填入此物件。 (此參數值僅對於Web服務調用是必需的)。
  5. 檢索結果。

    • 通過分配 BLOB 物件 MTOM 欄位至位元組陣列。 位元組陣清單示轉換的PDF文檔。 請確定您使用 BLOB 用作 createPDF2 方法。
    • 建立 System.IO.FileStream 對象,方法是調用其建構子並傳遞一個字串值,該字串值表示已轉換PDF文檔的檔案位置。
    • 建立 System.IO.BinaryWriter 對象,調用其建構子並傳遞 System.IO.FileStream 物件。
    • 調用 System.IO.BinaryWriter 物件 Write 方法,並傳遞位元組陣列。

將HTML文檔轉換為PDF文檔

本節說明如何使用「產生PDFAPI」,以程式設計方式將HTML檔案轉換為PDF檔案。

注意
如需產生PDF服務的詳細資訊,請參閱 AEM Forms服務參考.

步驟摘要

要將HTML文檔轉換為PDF文檔,請執行以下任務:

  1. 包含專案檔案。
  2. 建立「生成PDF」客戶端。
  3. 檢索要轉換為HTML文檔的PDF內容。
  4. 將HTML內容轉換為PDF文檔。
  5. 檢索結果。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。

建立生成PDF客戶端

在以寫程式方式執行「生成PDF」操作之前,必須建立「生成PDF」服務客戶端。 如果您使用Java API,請建立 GeneratePdfServiceClient 物件。 如果您使用網站服務API,請建立 GeneratePDFServiceService.

檢索要轉換為HTML文檔的PDF內容

參考要轉換為HTML文檔的PDF內容。 您可以參考HTML內容,例如HTML檔案或HTML內容,可透過URL存取。

將HTML內容轉換為PDF文檔

建立服務客戶端後,可以調用相應的PDF建立操作。 此操作需要有關要轉換的文檔的資訊,包括目標文檔的路徑。

擷取結果

將HTML內容轉換為PDF文檔後,可以檢索結果並保存PDF文檔。

另請參閱

使用Java API將HTML內容轉換為PDF檔案

使用Web服務API將HTML內容轉換為PDF文檔

包含AEM Forms Java程式庫檔案

設定連接屬性

產生PDF服務API快速入門

使用Java API將HTML內容轉換為PDF檔案

使用「生成HTMLAPI(Java)」將PDF文檔轉換為PDF文檔:

  1. 包含專案檔案。

    在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-generatepdf-client.jar。

  2. 建立「生成PDF」客戶端。

    建立 GeneratePdfServiceClient 對象,使用其建構子並傳遞 ServiceClientFactory 包含連接屬性的對象。

  3. 檢索要轉換為HTML文檔的PDF內容。

    建立字串變數並指派指向HTML內容的URL,以擷取HTML內容。

  4. 將HTML內容轉換為PDF文檔。

    叫用 GeneratePdfServiceClient 物件 htmlToPDF2 方法,並傳遞下列值:

    • A java.lang.String 包含要轉換的HTML檔案URL的物件。
    • A java.lang.String 包含要用於轉換的檔案類型設定的物件。 檔案類型設定可以包含尖峰層級。
    • A java.lang.String 包含要使用的安全設定名稱的對象。
    • 可選 com.adobe.idp.Document 包含在生成PDF文檔時要應用的設定的對象。 如果未提供此資訊,則會根據前三個參數自動選擇設定。
    • 可選 com.adobe.idp.Document 包含要應用到PDF文檔的元資料資訊的對象。
  5. 檢索結果。

    htmlToPDF2 方法傳回 HtmlToPdfResult 包含已生成的新PDF文檔的對象。 要獲取新建立的PDF文檔,請執行以下操作:

    • 叫用 HtmlToPdfResult 物件 getCreatedDocument 方法。 這會傳回 com.adobe.idp.Document 物件。
    • 叫用 com.adobe.idp.Document 物件 copyToFile 方法,從上一步中建立的物件中擷取PDF檔案。

使用Web服務API將HTML內容轉換為PDF文檔

使用「產生HTMLAPI」(網站服務)將PDF內容轉換為PDF檔案:

  1. 包含專案檔案。

    建立使用MTOM的Microsoft .NET專案。 確保使用以下WSDL定義: http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1.

    注意
    取代 localhost 和托管AEM Forms之伺服器的IP位址。
  2. 建立「生成PDF」客戶端。

    • 建立 GeneratePDFServiceClient 物件,使用其預設建構函式。

    • 建立 GeneratePDFServiceClient.Endpoint.Address 物件,使用 System.ServiceModel.EndpointAddress 建構子。 將指定WSDL的字串值傳遞至AEM Forms服務(例如 http://localhost:8080/soap/services/GeneratePDFService?blob=mtom.) 您不需要使用 lc_version 屬性。 不過,請指定 ?blob=mtom.

    • 建立 System.ServiceModel.BasicHttpBinding 物件,方法是取得 GeneratePDFServiceClient.Endpoint.Binding 欄位。 將傳回值轉換為 BasicHttpBinding.

    • 設定 System.ServiceModel.BasicHttpBinding 物件 MessageEncoding 欄位至 WSMessageEncoding.Mtom. 此值可確保使用MTOM。

    • 通過執行以下任務來啟用基本HTTP身份驗證:

      • 將AEM表單使用者名稱指派給欄位 GeneratePDFServiceClient.ClientCredentials.UserName.UserName.
      • 為欄位分配相應的密碼值 GeneratePDFServiceClient.ClientCredentials.UserName.Password.
      • 指派常數值 HttpClientCredentialType.Basic 欄位 BasicHttpBindingSecurity.Transport.ClientCredentialType.
      • 指派常數值 BasicHttpSecurityMode.TransportCredentialOnly 欄位 BasicHttpBindingSecurity.Security.Mode.
  3. 檢索要轉換為HTML文檔的PDF內容。

    建立字串變數並指派指向HTML內容的URL,以擷取HTML內容。

  4. 將HTML內容轉換為PDF文檔。

    調用以下命令,將HTML內容轉換為PDF文檔 GeneratePDFServiceService 物件 HtmlToPDF2 方法,並傳遞下列值:

    • 包含要轉換的HTML內容的字串。
    • A java.lang.String 包含要用於轉換的檔案類型設定的物件。
    • 包含要使用的安全設定的字串對象。
    • 可選 BLOB 包含在生成PDF文檔時要應用的設定的對象。
    • 可選 BLOB 包含要應用到PDF文檔的元資料資訊的對象。
    • 類型的輸出參數 BLOBCreatePDF2 方法。 此 CreatePDF2 方法會以轉換的檔案填入此物件。 (此參數值僅對於Web服務調用是必需的)。
  5. 檢索結果。

    • 通過分配 BLOB 物件 MTOM 欄位至位元組陣列。 位元組陣清單示轉換的PDF文檔。 請確定您使用 BLOB 用作 HtmlToPDF2 方法。
    • 建立 System.IO.FileStream 對象,方法是調用其建構子並傳遞一個字串值,該字串值表示已轉換PDF文檔的檔案位置。
    • 建立 System.IO.BinaryWriter 對象,調用其建構子並傳遞 System.IO.FileStream 物件。
    • 調用 System.IO.BinaryWriter 物件 Write 方法,並傳遞位元組陣列。

將PDF文檔轉換為非影像格式

本節介紹如何使用生成PDFJava API和Web服務API,以寫程式方式將PDF文檔轉換為RTF檔案,這是非影像格式的示例。 其他非影像格式包括HTML、文字、DOC和EPS。 將PDF文檔轉換為RTF時,請確保PDF文檔不包含表單元素,如提交按鈕。 表單元素不會轉換。

注意
如需產生PDF服務的詳細資訊,請參閱 AEM Forms服務參考.

步驟摘要

要將PDF文檔轉換為任何支援的類型,請執行以下步驟:

  1. 包含專案檔案。
  2. 建立「生成PDF」客戶端。
  3. 檢索要轉換的PDF文檔。
  4. 轉換PDF文檔。
  5. 儲存轉換的檔案。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。

建立生成PDF客戶端

在以寫程式方式執行「生成PDF」操作之前,必須建立「生成PDF」服務客戶端。 如果您使用Java API,請建立 GeneratePdfServiceClient 物件。 如果您使用網站服務API,請建立 GeneratePDFServiceService 物件。

檢索要轉換的PDF文檔

檢索PDF文檔以轉換為非影像格式。

轉換PDF文檔

建立服務客戶端後,可以調用PDF導出操作。 此操作需要有關要轉換的文檔的資訊,包括目標文檔的路徑。

儲存轉換的檔案

儲存轉換的檔案。 例如,如果將PDF文檔轉換為RTF檔案,請將轉換的文檔保存為RTF檔案。

另請參閱

使用Java API將PDF文檔轉換為RTF檔案

使用Web服務API將PDF文檔轉換為RTF檔案

包含AEM Forms Java程式庫檔案

設定連接屬性

產生PDF服務API快速入門

使用Java API將PDF文檔轉換為RTF檔案

使用生成PDFAPI(Java)將PDF文檔轉換為RTF檔案:

  1. 包含專案檔案。

    在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-generatepdf-client.jar。

  2. 建立「生成PDF」客戶端。

    建立 GeneratePdfServiceClient 對象,使用其建構子並傳遞 ServiceClientFactory 包含連接屬性的對象。

  3. 檢索要轉換的PDF文檔。

    • 建立 java.io.FileInputStream 表示要使用其建構子轉換的PDF文檔的對象。 傳遞指定PDF文檔位置的字串值。
    • 建立 com.adobe.idp.Document 對象,使用其建構子並傳遞 java.io.FileInputStream 物件。
  4. 轉換PDF文檔。

    叫用 GeneratePdfServiceClient 物件 exportPDF2 方法,並傳遞下列值:

    • A com.adobe.idp.Document 表示要轉換的PDF檔案的對象。
    • A java.lang.String 包含要轉換的檔案名稱的對象。
    • A java.lang.String 包含Adobe PDF設定名稱的物件。
    • A ConvertPDFFormatType 指定轉換目標檔案類型的對象。
    • 可選 com.adobe.idp.Document 包含在生成PDF文檔時要應用的設定的對象。

    exportPDF2 方法傳回 ExportPDFResult 包含轉換檔案的物件。

  5. 轉換PDF文檔。

    要獲取新建立的檔案,請執行以下步驟:

    • 叫用 ExportPDFResult 物件 getConvertedDocument 方法。 這會傳回 com.adobe.idp.Document 物件。
    • 叫用 com.adobe.idp.Document 物件 copyToFile 方法來擷取新檔案。

使用Web服務API將PDF文檔轉換為RTF檔案

使用生成PDFAPI(Web服務)將PDF文檔轉換為RTF檔案:

  1. 包含專案檔案。

    建立使用MTOM的Microsoft .NET專案。 確保使用以下WSDL定義: http://localhost:8080/soap/services/GeneratePDFService?WSDL&lc_version=9.0.1.

    注意
    取代 localhost 和托管AEM Forms之伺服器的IP位址。
  2. 建立生成PDf客戶端。

    • 建立 GeneratePDFServiceClient 物件,使用其預設建構函式。

    • 建立 GeneratePDFServiceClient.Endpoint.Address 物件,使用 System.ServiceModel.EndpointAddress 建構子。 將指定WSDL的字串值傳遞至AEM Forms服務(例如 http://localhost:8080/soap/services/GeneratePDFService?blob=mtom.) 您不需要使用 lc_version 屬性。 不過,請指定 ?blob=mtom.

    • 建立 System.ServiceModel.BasicHttpBinding 物件,方法是取得 GeneratePDFServiceClient.Endpoint.Binding 欄位。 將傳回值轉換為 BasicHttpBinding.

    • 設定 System.ServiceModel.BasicHttpBinding 物件 MessageEncoding 欄位至 WSMessageEncoding.Mtom. 此值可確保使用MTOM。

    • 通過執行以下任務來啟用基本HTTP身份驗證:

      • 將AEM表單使用者名稱指派給欄位 GeneratePDFServiceClient.ClientCredentials.UserName.UserName.
      • 為欄位分配相應的密碼值 GeneratePDFServiceClient.ClientCredentials.UserName.Password.
      • 指派常數值 HttpClientCredentialType.Basic 欄位 BasicHttpBindingSecurity.Transport.ClientCredentialType.
      • 指派常數值 BasicHttpSecurityMode.TransportCredentialOnly 欄位 BasicHttpBindingSecurity.Security.Mode.
  3. 檢索要轉換的PDF文檔。

    • 建立 BLOB 物件,使用其建構子。 此 BLOB 對象用於儲存轉換的PDF文檔。
    • 建立 System.IO.FileStream 對象,方法是調用其建構子並傳遞一個字串值,該字串值表示PDF文檔的檔案位置以及開啟檔案的模式。
    • 建立位元組陣列,用於儲存 System.IO.FileStream 物件。 您可以取得 System.IO.FileStream 物件 Length 屬性。
    • 叫用 System.IO.FileStream 物件 Read 方法,並傳遞位元組陣列、起始位置及流長度以讀取。
    • 填入 BLOB 對象,通過為其分配 MTOM 屬性位元組陣列的內容。
  4. 轉換PDF文檔。

    叫用 GeneratePDFServiceServiceWse 物件 ExportPDF2 方法,並傳遞下列值:

    • A BLOB 表示要轉換的PDF檔案的對象。
    • 包含要轉換的檔案路徑名的字串。
    • A java.lang.String 指定檔案位置的對象。
    • 指定轉換目標檔案類型的字串對象。 指定 RTF.
    • 可選 BLOB 包含在生成PDF文檔時要應用的設定的對象。
    • 類型的輸出參數 BLOBExportPDF2 方法。 此 ExportPDF2 方法會以轉換的檔案填入此物件。 (此參數值僅對於Web服務調用是必需的)。
  5. 儲存轉換的檔案。

    • 通過分配 BLOB 物件 MTOM 欄位至位元組陣列。 位元組陣清單示轉換的RTF文檔。 請確定您使用 BLOB 用作 ExportPDF2 方法。
    • 建立 System.IO.FileStream 對象,方法是調用其建構子。 傳遞表示RTF檔案位置的字串值。
    • 建立 System.IO.BinaryWriter 對象,調用其建構子並傳遞 System.IO.FileStream 物件。
    • 調用 System.IO.BinaryWriter 物件 Write 方法,並傳遞位元組陣列。