使用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 FormsJava庫檔案

建立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 FormsJava庫檔案

設定連接屬性

以程式設計方式決定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 FormsAPI參考中的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 FormsJava庫檔案

設定連接屬性

使用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對象的屬性指定位元組陣列的內容來填充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對象,以建立對象。
    • 調用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 FormsJava庫檔案

建立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 FormsJava庫檔案

設定連接屬性

使用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 FormsAPI參考中的setLogLevel方法。
  5. 擷取PDF檔案的相關資訊

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

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

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

另請參閱

使用PDF/A檔案

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

包含AEM FormsJava庫檔案

設定連接屬性

使用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對象的屬性指定位元組陣列的內容來填充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 Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now