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

    • 透過叫用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資料填入檔案。

使用網站服務API將檔案轉換為PDF/A檔案

使用DocConverter API (Web服務)將PDF檔案轉換為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. 設定追蹤資訊

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

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

    • 包含要轉換之PDF檔案的BLOB物件
    • 指定追蹤資訊的PDFAConversionOptionSpec物件

    toPDFA方法傳回包含PDF/A檔案的PDFAConversionResult物件。

  6. 儲存PDF/檔案

    • 取得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/合規性

您可以使用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規範。

設定執行階段選項

您可以設定執行階段選項,以決定在轉換過程中要追蹤多少資訊。 也就是說,您可以設定九個不同的層級,指定當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物件。

使用網站服務API判斷PDF/A合規性

使用Web服務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物件。
    • 以值PDFAConversionOptionSpec_Compliance.PDFA_1B指派PDFAValidationOptionSpec物件的compliance資料成員來設定規範遵循層級。
    • 使用值PDFAValidationOptionSpec_ResultLevel.DETAILED指派PDFAValidationOptionSpec物件的resultLevel資料成員,以設定資訊追蹤層級。
  5. 擷取PDF檔案的相關資訊

    透過叫用DocConverterServiceService物件的isPDFA方法並傳遞下列值來判斷PDF/A相容性:

    • 包含PDF檔案的BLOB物件。
    • 包含執行階段選項的PDFAValidationOptionSpec物件。

    isPDFA方法傳回包含此作業結果的PDFAValidationResult物件。

recommendation-more-help