使用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服务,请确保包含代理文件。

必须将以下JAR文件添加到项目的类路径中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-docconverter-client.jar
  • adobe-utilities.jar(如果AEM Forms部署在JBoss应用程序服务器上,则此变量为必需变量)
  • jbossall-client.jar(如果AEM Forms部署在JBoss应用程序服务器上,则此为必需字段)

有关这些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服务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对象。
    • 使用其构造函数创建DocConverterServiceClient对象,并传递ServiceClientFactory对象。
  3. 引用PDF文档以转换为PDF/A文档

    • 创建一个java.io.FileInputStream对象,该对象表示要转换的PDF文档,方法是使用其构造函数并传递一个指定PDF文件位置的字符串值。
    • 使用其构造函数创建com.adobe.idp.Document对象,并传递java.io.FileInputStream对象。
  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. 包含项目文件

    • 创建使用DocConverter WSDL的Microsoft .NET客户端程序集。
    • 引用Microsoft .NET客户端程序集。
  2. 创建DocConvert客户端

    • 使用Microsoft .NET客户端程序集,通过调用其默认构造函数创建DocConverterServiceService对象。
    • 使用指定用户名和密码值的System.Net.NetworkCredential值设置DocConverterServiceService对象的Credentials数据成员。
  3. 引用PDF文档以转换为PDF/A文档

    • 使用BLOB对象的构造函数创建对象。 BLOB对象用于存储转换为PDF/A文档的PDF文档。
    • 通过调用System.IO.FileStream对象的构造函数并传递一个字符串值,该字符串值表示PDF文档的文件位置和在中打开文件的模式。
    • 创建用于存储System.IO.FileStream对象内容的字节数组。 您可以通过获取System.IO.FileStream对象的Length属性来确定字节数组的大小。
    • 通过调用System.IO.FileStream对象的Read方法并传递要读取的字节数组、开始位置和流长度,用流数据填充字节数组。
    • 通过为BLOB对象的binaryData属性分配字节数组的内容来填充该对象。
  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服务,请确保包含代理文件。

必须将以下JAR文件添加到项目的类路径中:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-docconverter-client.jar
  • adobe-utilities.jar(如果AEM Forms部署在JBoss应用程序服务器上,则此变量为必需变量)
  • jbossall-client.jar(如果AEM Forms部署在JBoss应用程序服务器上,则此为必需字段)

有关这些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服务API确定PDF/A合规性

包括AEM Forms Java库文件

设置连接属性

使用Java API确定PDF/A合规性

使用Java API确定PDF/A合规性:

  1. 包含项目文件

    在Java项目的类路径中包含客户端JAR文件,如adobe-docconverter-client.jar。

  2. 创建DocConvert客户端

    • 创建包含连接属性的ServiceClientFactory对象。
    • 使用其构造函数创建DocConverterServiceClient对象,并传递ServiceClientFactory对象。
  3. 引用用于确定PDF/A合规性的PDF文档

    • 创建一个java.io.FileInputStream对象,该对象表示要转换的PDF文档,方法是使用其构造函数并传递一个指定PDF文件位置的字符串值。
    • 使用其构造函数创建com.adobe.idp.Document对象,并传递java.io.FileInputStream对象。
  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合规性

使用Web服务API确定PDF/A合规性:

  1. 包含项目文件

    • 创建使用DocConverter WSDL的Microsoft .NET客户端程序集。
    • 引用Microsoft .NET客户端程序集。
  2. 创建DocConvert客户端

    • 使用Microsoft .NET客户端程序集,通过调用其默认构造函数创建DocConverterServiceService对象。
    • 使用指定用户名和密码值的System.Net.NetworkCredential值设置DocConverterServiceService对象的Credentials数据成员。
  3. 引用用于确定PDF/A合规性的PDF文档

    • 使用BLOB对象的构造函数创建对象。 BLOB对象用于存储转换为PDF/A文档的PDF文档。
    • 通过调用System.IO.FileStream对象的构造函数并传递一个字符串值,该字符串值表示PDF文档的文件位置和在中打开文件的模式。
    • 创建用于存储System.IO.FileStream对象内容的字节数组。 您可以通过获取System.IO.FileStream对象的Length属性来确定字节数组的大小。
    • 通过调用System.IO.FileStream对象的Read方法并传递要读取的字节数组、开始位置和流长度,用流数据填充字节数组。
    • 通过为BLOB对象的binaryData属性分配字节数组的内容来填充该对象。
  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客户端程序集

在此页面上