使用PDF/A檔案 working-with-pdf-a-documents

關於DocConverter服務

DocConverter服務可以將PDF檔案轉換為PDA/A檔案。 您可以使用此服務完成這些工作:

NOTE
如需DocConverter服務的詳細資訊,請參閱AEM Forms服務參考

將檔案轉換為PDF/A檔案 converting-documents-to-pdf-a-documents

您可以使用DocConverter服務將PDF檔案轉換為PDF/A檔案。 由於PDF/A是用於長期儲存檔案內容的封存格式,因此所有字型全都內嵌且檔案都未壓縮。 因此,PDF/A 文件通常比標準 PDF 文件大。此外,PDF/檔案不包含音訊和視訊內容。 將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檔案。

NOTE
如需DocConverter服務的詳細資訊,請參閱AEM Forms服務參考

步驟摘要 summary-of-steps

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

  1. 包含專案檔案。
  2. 建立DocConvert使用者端
  3. 參照要轉換成PDF/A檔案的PDF檔案。
  4. 設定追蹤資訊。
  5. 轉換檔案。
  6. 儲存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檔案以轉換為PDF/A檔案

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

設定追蹤資訊

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

轉換檔案

建立DocConverter服務使用者端後,參照要轉換的PDF檔案,並設定指定要追蹤多少資訊的執行階段選項,您可以將PDF檔案轉換為PDF/A檔案。

儲存PDF/檔案

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

另請參閱

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

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

包含AEM Forms Java程式庫檔案

設定連線屬性

以程式設計方式決定PDF/合規性

使用Java API將檔案轉換為PDF/A檔案 convert-documents-to-pdf-a-documents-using-the-java-api

使用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資料填入檔案。

另請參閱

使用PDF/A檔案

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

包含AEM Forms Java程式庫檔案

設定連線屬性

使用網站服務API將檔案轉換為PDF/A檔案 convert-documents-to-pdf-a-documents-using-the-web-service-api

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

使用Base64編碼叫用AEM Forms

建立使用Base64編碼的.NET使用者端元件

以程式設計方式決定PDF/合規性 programmatically-determining-pdf-a-compliancy

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

NOTE
如需DocConverter服務的詳細資訊,請參閱AEM Forms服務參考

步驟摘要 summary_of_steps-1

若要判斷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合規性 determine-pdf-a-compliancy-using-the-java-api

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

設定連線屬性

使用網站服務API判斷PDF/A合規性 determine-pdf-a-compliancy-using-the-web-service-api

使用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物件。

另請參閱

使用PDF/A檔案

使用Base64編碼叫用AEM Forms

建立使用Base64編碼的.NET使用者端元件

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2