使用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/A文檔的PDF文檔。
  4. 設定追蹤資訊。
  5. 轉換文檔。
  6. 儲存PDF/A檔案。

包含項目檔案

在您的開發專案中加入必要的檔案。 如果您是使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請務必包含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/A文檔的PDF文檔。 如果您嘗試將PDF檔案(如Acrobat表單)轉換為PDF/A檔案,將會造成例外狀況。

設定追蹤資訊

您可以設定執行階段選項,以決定在轉換過程中要追蹤多少資訊。 也就是說,您可以設定9個不同的級別,以指定DocConverter服務在將PDF文檔轉換為PDF/A文檔時跟蹤的資訊量。

轉換文檔

建立DocConverter服務客戶端後,請參考PDF文檔以轉換並設定運行時間選項,該選項指定跟蹤的資訊量,您可以將PDF文檔轉換為PDF/A文檔。

儲存PDF/A檔案

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

另請參閱

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

使用Web服務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/A文檔的PDF文檔

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

    • 使用其建構子建立PDFAConversionOptionSpec物件。
    • 叫用PDFAConversionOptionSpec物件的setLogLevel方法並傳遞指定追蹤層級的字串值,以設定資訊追蹤層級。 例如,傳遞值FINE。 如需不同值的相關資訊,請參閱AEM Forms API參考中的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服務API將文檔轉換為PDF/A文檔

使用DocConverter API(Web服務)將PDF文檔轉換為PDF/A文檔:

  1. 包含項目檔案

    • 建立一個Microsoft .NET客戶端程式集,該程式集將使用DocConverter WSDL。
    • 參考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. 設定追蹤資訊

    • 使用其建構子建立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.FileStream對象來建立System.IO.BinaryWriter對象。
    • 調用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服務,請務必包含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合規性

使用網站服務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檔案

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

    • 使用其建構子建立PDFAValidationOptionSpec物件。
    • 調用PDFAValidationOptionSpec對象的setCompliance方法並傳遞PDFAValidationOptionSpec.Compliance.PDFA_1B來設定符合性級別。
    • 叫用PDFAValidationOptionSpec物件的setLogLevel方法並傳遞指定追蹤層級的字串值,以設定資訊追蹤層級。 例如,傳遞值FINE。 如需不同值的相關資訊,請參閱AEM Forms API參考中的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服務API確定PDF/A合規性

使用網站服務API來判斷PDF/A是否符合:

  1. 包含項目檔案

    • 建立一個Microsoft .NET客戶端程式集,該程式集將使用DocConverter WSDL。
    • 參考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客戶端程式集

本頁內容