使用PDF/A檔案

關於DocConverter服務

DocConverter服務可將PDF檔案轉換為PDA/A檔案。 您可以使用此服務完成以下任務:

注意

有關DocConverter服務的詳細資訊,請參閱AEM Forms的服務參考

將檔案轉換為PDF/A檔案

您可以使用DocConverter服務將PDF檔案轉換為PDF/A檔案。 由於PDF/A是長期保存檔案內容的封存格式,所以所有字型都已內嵌,檔案也未壓縮。 因此,PDF/A檔案通常比標準PDF檔案大。 此外,PDF/A檔案不包含音訊和視訊內容。 在將PDF檔案轉換為PDF/A檔案之前,請確定PDF檔案不是PDF/A檔案。

PDF/A-1規格包含兩個符合等級,即A和B。兩者之間的主要區別在於邏輯結構(可訪問性)支援,而邏輯結構(可訪問性)支援對於符合性級別B不是必需的。無論符合程度如何,PDF/A-1都規定所有字型都內嵌在產生的PDF/A檔案中。 目前,驗證(和轉換)只支援PDF/A-1b。

雖然PDF/A是封存PDF檔案的標準,但如果標準PDF檔案符合您公司的需求,則不必使用PDF/A進行封存。 PDF/A標準的目的,在於建立PDF檔案,以滿足長期封存和檔案保存的需求。

注意

有關DocConverter服務的詳細資訊,請參閱AEM Forms的服務參考

步驟摘要

若要將PDF檔案轉換為PDF/A檔案,請執行下列步驟:

  1. 包含專案檔案。
  2. 建立DocConvert客戶端
  3. 參考PDF檔案以轉換為PDF/A檔案。
  4. 設定追蹤資訊。
  5. 轉換檔案。
  6. 儲存PDF/A檔案。

包含專案檔案

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

必須將下列JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-docconverter-client.jar
  • adobe-utilities.jar(如果AEM Forms部署在JBoss Application Server上,則為必要項)
  • jbossall-client.jar(如果AEM Forms部署在JBoss Application Server上,則為必需)

如需這些JAR檔案位置的詳細資訊,請參閱包含AEM Forms Java程式庫檔案

建立DocConvert客戶端

在以寫程式方式執行DocConverter操作之前,必須建立DocConverter客戶端。 如果您使用Java API,請建立DocConverterServiceClient物件。 如果您使用DocConverter Web服務API,請建立DocConverterServiceService對象。

參考PDF檔案以轉換為PDF/A檔案

擷取PDF檔案以轉換為PDF/A檔案。 如果您嘗試將PDF檔案(例如Acrobat表格)轉換為PDF/A檔案,將會造成例外。

設定追蹤資訊

您可以設定執行時期選項,以決定在轉換程式期間追蹤的資訊量。 也就是說,您可以設定9個不同的層級,以指定DocConverter服務在將PDF檔案轉換為PDF/A檔案時追蹤的資訊量。

轉換檔案

在您建立DocConverter服務用戶端後,請參考PDF檔案以轉換並設定執行時期選項,以指定要追蹤的資訊量,您就可將PDF檔案轉換為PDF/A檔案。

儲存PDF/A檔案

您可將PDF/A檔案儲存為PDF檔案。

另請參閱

使用Java API將檔案轉換為PDF/A檔案

使用web service API將檔案轉換為PDF/A檔案

包含AEM Forms Java程式庫檔案

設定連接屬性

以程式設計方式決定PDF/A相容性

使用Java API將檔案轉換為PDF/A檔案

使用Java API將PDF檔案轉換為PDF/A檔案:

  1. 包含專案檔案

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

  2. 建立DocConvert客戶端

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory對象,建立DocConverterServiceClient對象。
  3. 參考PDF檔案以轉換為PDF/A檔案

    • 使用PDF檔案的建構函式並傳遞指定PDF檔案位置的字串值,建立代表要轉換之PDF檔案的java.io.FileInputStream物件。
    • 使用其建構子並傳遞java.io.FileInputStream對象,建立com.adobe.idp.Document對象。
  4. 設定追蹤資訊

    • 使用其建構子建立PDFAConversionOptionSpec對象。
    • 調用PDFAConversionOptionSpec物件的setLogLevel方法並傳遞指定追蹤層級的字串值,以設定資訊追蹤層級。 例如,傳遞值FINE。 如需不同值的詳細資訊,請參閱AEM Forms API Reference中的setLogLevel方法。
  5. 轉換檔案

    調用DocConverterServiceClient物件的toPDFA方法並傳遞下列值,將PDF檔案轉換為PDF/A檔案:

    • 包含要轉換的PDF文檔的com.adobe.idp.Document對象
    • 指定追蹤資訊的PDFAConversionOptionSpec物件

    toPDFA方法返回包含PDF/A文檔的PDFAConversionResult對象。

  6. 儲存PDF/A檔案

    • 叫用PDFAConversionResult物件的getPDFA方法,擷取PDF/A檔案。 此方法會傳回代表PDF/A檔案的com.adobe.idp.Document物件。
    • 建立代表PDF/A檔案的java.io.File物件。 請確定副檔名為。pdf。
    • 調用com.adobe.idp.Document物件的copyToFile方法並傳遞java.io.File物件,以PDF/A資料填入檔案。

另請參閱

使用PDF/A檔案

快速入門(SOAP模式):使用Java API將檔案轉換為PDF/A檔案

包含AEM Forms Java程式庫檔案

設定連接屬性

使用web service API將檔案轉換為PDF/A檔案

使用DocConverter API(web service)將PDF檔案轉換為PDF/A檔案:

  1. 包含專案檔案

    • 建立一個使用DocConverter WSDL的Microsoft .NET客戶端元件。
    • 參考Microsoft .NET客戶端元件。
  2. 建立DocConvert客戶端

    • 使用Microsoft .NET客戶端元件,通過調用其預設建構子建立DocConverterServiceService對象。
    • DocConverterServiceService物件的Credentials資料成員設定為System.Net.NetworkCredential值,以指定使用者名稱和密碼值。
  3. 參考PDF檔案以轉換為PDF/A檔案

    • 使用其建構子建立BLOB對象。 BLOB物件用來儲存轉換為PDF/A檔案的PDF檔案。
    • 通過調用其建構子並傳遞一個字串值來建立System.IO.FileStream對象,該字串值表示PDF文檔的檔案位置和開啟檔案的模式。
    • 建立儲存System.IO.FileStream對象內容的位元組陣列。 您可以取得System.IO.FileStream物件的Length屬性,以判斷位元組陣列的大小。
    • 調用System.IO.FileStream物件的Read方法,並傳遞要讀取的位元組陣列、開始位置和串流長度,以串流資料填入位元組陣列。
    • 通過為binaryData對象的<a1/>屬性指定位元組陣列的內容來填充BLOB對象。
  4. 設定追蹤資訊

    • 使用其建構子建立PDFAConversionOptionSpec對象。
    • PDFAConversionOptionSpec物件的logLevel資料成員指派指定追蹤層級的值,以設定資訊追蹤層級。 例如,將值FINE分配給此資料成員。
  5. 轉換檔案

    調用DocConverterServiceService物件的toPDFA方法並傳遞下列值,將PDF檔案轉換為PDF/A檔案:

    • 包含要轉換的PDF文檔的BLOB對象
    • 指定追蹤資訊的PDFAConversionOptionSpec物件

    toPDFA方法返回包含PDF/A文檔的PDFAConversionResult對象。

  6. 儲存PDF/A檔案

    • 透過取得PDFAConversionResult物件PDFADocument資料成員的值,建立儲存PDF/A檔案的BLOB物件。
    • 建立一個位元組陣列,用於儲存使用PDFAConversionResult對象返回的BLOB對象的內容。 獲取BLOB對象binaryData資料成員的值,以填充位元組陣列。
    • 調用System.IO.FileStream對象的建構子並傳遞一個字串值,該字串值表示PDF/A文檔的檔案位置。
    • 調用System.IO.BinaryWriter對象的建構子並傳遞System.IO.FileStream對象,以建立<a0/>對象。
    • 調用System.IO.BinaryWriter物件的Write方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。

另請參閱

使用PDF/A檔案

使用Base64編碼叫用AEM Forms

建立使用Base64編碼的。NET客戶端元件

以程式設計方式決定PDF/A相容性

您可以使用DocConverter服務來判斷PDF檔案是否與PDF/A相容。 如需有關PDF/A檔案以及如何將PDF檔案轉換為PDF/A檔案的詳細資訊,請參閱將檔案轉換為PDF/A檔案

注意

有關DocConverter服務的詳細資訊,請參閱AEM Forms的服務參考

步驟摘要

若要判斷PDF/A相容性,請執行下列步驟:

  1. 包含專案檔案。
  2. 建立DocConvert客戶端
  3. 參考用來判斷PDF/A相容性的PDF檔案。
  4. 設定執行時期選項。
  5. 擷取PDF檔案的相關資訊。

包含專案檔案

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

必須將下列JAR檔案添加到項目的類路徑中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-docconverter-client.jar
  • adobe-utilities.jar(如果AEM Forms部署在JBoss Application Server上,則為必要項)
  • jbossall-client.jar(如果AEM Forms部署在JBoss Application Server上,則為必需)

如需這些JAR檔案位置的詳細資訊,請參閱包含AEM Forms Java程式庫檔案

建立DocConvert客戶端

在以寫程式方式執行DocConverter操作之前,必須建立DocConverter客戶端。 如果您使用Java API,請建立DocConverterServiceClient物件。 如果您使用DocConverter Web服務API,請建立DocConverterServiceService對象。

參考用來判斷PDF/A相容性的PDF檔案

必須參考PDF檔案並將其傳遞至DocConverter服務,才能判斷PDF檔案是否與PDF/A相容。

設定執行時期選項

您可以設定執行時期選項,以決定在轉換程式期間追蹤的資訊量。 也就是說,您可以設定9個不同的層級,以指定DocConverter服務在將PDF檔案轉換為PDF/A檔案時追蹤的資訊量。

擷取PDF檔案的相關資訊

在您建立DocConverter服務用戶端、參考PDF檔案並設定執行時期選項後,您可以判斷PDF檔案是否符合PDF/A規範。

另請參閱

使用Java API判斷PDF/A符合性

使用web service API判斷PDF/A符合性

包含AEM Forms Java程式庫檔案

設定連接屬性

使用Java API判斷PDF/A相容性

使用Java API來判斷PDF/A符合性:

  1. 包含專案檔案

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

  2. 建立DocConvert客戶端

    • 建立包含連接屬性的ServiceClientFactory對象。
    • 使用其建構子並傳遞ServiceClientFactory對象,建立DocConverterServiceClient對象。
  3. 參考用來判斷PDF/A相容性的PDF檔案

    • 使用PDF檔案的建構函式並傳遞指定PDF檔案位置的字串值,建立代表要轉換之PDF檔案的java.io.FileInputStream物件。
    • 使用其建構子並傳遞java.io.FileInputStream對象,建立com.adobe.idp.Document對象。
  4. 設定執行時期選項

    • 使用其建構子建立PDFAValidationOptionSpec對象。
    • 調用PDFAValidationOptionSpec物件的setCompliance方法並傳遞PDFAValidationOptionSpec.Compliance.PDFA_1B,以設定相容性層級。
    • 調用PDFAValidationOptionSpec物件的setLogLevel方法並傳遞指定追蹤層級的字串值,以設定資訊追蹤層級。 例如,傳遞值FINE。 如需不同值的詳細資訊,請參閱AEM Forms API Reference中的setLogLevel方法。
  5. 擷取PDF檔案的相關資訊

    調用DocConverterServiceClient物件的isPDFA方法並傳遞下列值,以判斷PDF/A相容性:

    • 包含PDF文檔的com.adobe.idp.Document對象。
    • 指定運行時選項的PDFAValidationOptionSpec對象。

    isPDFA方法返回包含此操作結果的PDFAValidationResult對象。

另請參閱

使用PDF/A檔案

快速入門(SOAP模式):使用Java API判斷PDF/A相容性

包含AEM Forms Java程式庫檔案

設定連接屬性

使用web service API判斷PDF/A相容性

使用web service API來判斷PDF/A符合性:

  1. 包含專案檔案

    • 建立一個使用DocConverter WSDL的Microsoft .NET客戶端元件。
    • 參考Microsoft .NET客戶端元件。
  2. 建立DocConvert客戶端

    • 使用Microsoft .NET客戶端元件,通過調用其預設建構子建立DocConverterServiceService對象。
    • DocConverterServiceService物件的Credentials資料成員設定為System.Net.NetworkCredential值,以指定使用者名稱和密碼值。
  3. 參考用來判斷PDF/A相容性的PDF檔案

    • 使用其建構子建立BLOB對象。 BLOB物件用來儲存轉換為PDF/A檔案的PDF檔案。
    • 通過調用其建構子並傳遞一個字串值來建立System.IO.FileStream對象,該字串值表示PDF文檔的檔案位置和開啟檔案的模式。
    • 建立儲存System.IO.FileStream對象內容的位元組陣列。 您可以取得System.IO.FileStream物件的Length屬性,以判斷位元組陣列的大小。
    • 調用System.IO.FileStream物件的Read方法,並傳遞要讀取的位元組陣列、開始位置和串流長度,以串流資料填入位元組陣列。
    • 通過為binaryData對象的<a1/>屬性指定位元組陣列的內容來填充BLOB對象。
  4. 設定執行時期選項

    • 使用其建構子建立PDFAValidationOptionSpec對象。
    • 通過將PDFAValidationOptionSpec對象的compliance資料成員分配為值PDFAConversionOptionSpec_Compliance.PDFA_1B來設定法規遵從性級別。
    • PDFAValidationOptionSpec物件的resultLevel資料成員指派為值PDFAValidationOptionSpec_ResultLevel.DETAILED,以設定資訊追蹤層級。
  5. 擷取PDF檔案的相關資訊

    調用DocConverterServiceService物件的isPDFA方法並傳遞下列值,以判斷PDF/A相容性:

    • 包含PDF文檔的BLOB對象。
    • 包含運行時選項的PDFAValidationOptionSpec對象。

    isPDFA方法返回包含此操作結果的PDFAValidationResult對象。

另請參閱

使用PDF/A檔案

使用Base64編碼叫用AEM Forms

建立使用Base64編碼的。NET客戶端元件

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free