使用PDF/A文档 working-with-pdf-a-documents
关于DocConverter服务
DocConverter服务可以将PDF文档转换为PDA/A文档。 您可以使用此服务完成这些任务:
- 将PDF文档转换为PDF/A文档。 (请参阅将文档转换为PDF/A文档。)
- 确定PDF文档是否为PDF/A文档。 (请参阅以编程方式确定PDF/合规性。)
将文档转换为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文件,以满足长期归档和文档保存的需要。
支持的PDF/A合规性标准包括PDF/A-1a、1b、2a、2b、3a和3b。
步骤摘要 summary-of-steps
要将PDF文档转换为PDF/A文档,请执行以下步骤:
- 包括项目文件。
- 创建DocConvert客户端
- 引用要转换为PDF/PDF的文档。
- 设置跟踪信息。
- 转换文档。
- 保存PDF/文档。
包含项目文件
在开发项目中包含必要的文件。 如果使用Java创建客户端应用程序,请包含必要的JAR文件。 如果使用Web服务,请确保包含代理文件。
必须将以下JAR文件添加到项目的类路径中:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-docconverter-client.jar
- adobe-utilities.jar(如果在JBoss Application Server上部署了AEM Forms,则此为必填字段)
- 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文档以转换为PDF/A文档。 如果尝试将PDF文档(如Acrobat表单)转换为PDF/A文档,则会导致出现异常。
设置跟踪信息
您可以设置一个运行时选项,以确定在转换过程中要跟踪的信息量。 也就是说,您可以设置九个不同的级别,以指定DocConverter服务在将PDF文档转换为PDF/文档时跟踪的信息量。
转换文档
创建DocConverter服务客户端后,引用要转换的PDF文档,并设置指定跟踪的信息量的运行时选项,可以将PDF文档转换为PDF/A文档。
保存PDF/文档
可以将PDF/A文档另存为PDF文件。
另请参阅
使用Java API将文档转换为PDF/A文档 convert-documents-to-pdf-a-documents-using-the-java-api
使用Java API将PDF文档转换为PDF/A文档:
-
包含项目文件
将客户端JAR文件(如adobe-doconverter-client.jar)包含在Java项目的类路径中。
-
创建DocConvert客户端
- 创建包含连接属性的
ServiceClientFactory
对象。 - 使用对象的构造函数创建
DocConverterServiceClient
对象并传递ServiceClientFactory
对象。
- 创建包含连接属性的
-
引用要转换为PDF/PDF的文档
- 创建一个
java.io.FileInputStream
对象,该对象表示要使用其构造函数转换的PDF文档,并传递一个指定PDF文件位置的字符串值。 - 使用对象的构造函数创建
com.adobe.idp.Document
对象并传递java.io.FileInputStream
对象。
- 创建一个
-
设置跟踪信息
- 使用构造函数创建
PDFAConversionOptionSpec
对象。 - 通过调用
PDFAConversionOptionSpec
对象的setLogLevel
方法并传递指定跟踪级别的字符串值来设置信息跟踪级别。 例如,传递值FINE
。 有关不同值的信息,请参阅AEM Forms API引用中的setLogLevel
方法。
- 使用构造函数创建
-
转换文档
通过调用
DocConverterServiceClient
对象的toPDFA
方法并传递以下值,将PDF文档转换为PDF/A文档:- 包含要转换的PDF文档的
com.adobe.idp.Document
对象 - 指定跟踪信息的
PDFAConversionOptionSpec
对象
toPDFA
方法返回包含PDF/A文档的PDFAConversionResult
对象。 - 包含要转换的PDF文档的
-
保存PDF/文档
- 通过调用
PDFAConversionResult
对象的getPDFA
方法检索PDF/文档。 此方法返回表示PDF/A文档的com.adobe.idp.Document
对象。 - 创建表示PDF/A文件的
java.io.File
对象。 确保文件扩展名为.pdf。 - 通过调用
com.adobe.idp.Document
对象的copyToFile
方法并传递java.io.File
对象,使用PDF/A数据填充文件。
- 通过调用
另请参阅
使用Web服务API将文档转换为PDF/A文档 convert-documents-to-pdf-a-documents-using-the-web-service-api
使用DocConverter API(Web服务)将PDF文档转换为PDF/A文档:
-
包含项目文件
- 创建使用DocConverter WSDL的Microsoft .NET客户端程序集。
- 引用Microsoft .NET客户端程序集。
-
创建DocConvert客户端
- 使用Microsoft .NET客户端程序集,通过调用其默认构造函数创建
DocConverterServiceService
对象。 - 使用
System.Net.NetworkCredential
值设置DocConverterServiceService
对象的Credentials
数据成员,该值指定用户名和密码值。
- 使用Microsoft .NET客户端程序集,通过调用其默认构造函数创建
-
引用要转换为PDF/PDF的文档
- 使用构造函数创建
BLOB
对象。BLOB
对象用于存储转换为PDF/A文档的PDF文档。 - 通过调用其构造函数并传递一个字符串值来创建一个
System.IO.FileStream
对象,该字符串值表示PDF文档的文件位置以及用于打开文件的模式。 - 创建用于存储
System.IO.FileStream
对象的内容的字节数组。 您可以通过获取System.IO.FileStream
对象的Length
属性来确定字节数组的大小。 - 通过调用
System.IO.FileStream
对象的Read
方法并传递要读取的字节数组、起始位置和流长度,使用流数据填充字节数组。 - 使用字节数组的内容指定其
binaryData
属性以填充BLOB
对象。
- 使用构造函数创建
-
设置跟踪信息
- 使用构造函数创建
PDFAConversionOptionSpec
对象。 - 通过分配一个值来设置信息跟踪级别,该值指定对
PDFAConversionOptionSpec
对象的logLevel
数据成员的跟踪级别。 例如,将值FINE
分配给此数据成员。
- 使用构造函数创建
-
转换文档
通过调用
DocConverterServiceService
对象的toPDFA
方法并传递以下值,将PDF文档转换为PDF/A文档:- 包含要转换的PDF文档的
BLOB
对象 - 指定跟踪信息的
PDFAConversionOptionSpec
对象
toPDFA
方法返回包含PDF/A文档的PDFAConversionResult
对象。 - 包含要转换的PDF文档的
-
保存PDF/文档
- 通过获取
PDFAConversionResult
对象的PDFADocument
数据成员的值,创建存储PDF/文档的BLOB
对象。 - 创建一个字节数组,用于存储使用
PDFAConversionResult
对象返回的BLOB
对象的内容。 通过获取BLOB
对象的binaryData
数据成员的值填充字节数组。 - 通过调用其构造函数并传递表示PDF/A文档的文件位置的字符串值来创建
System.IO.FileStream
对象。 - 通过调用其构造函数并传递
System.IO.FileStream
对象来创建System.IO.BinaryWriter
对象。 - 通过调用
System.IO.BinaryWriter
对象的Write
方法并传递字节数组,将字节数组的内容写入PDF文件。
- 通过获取
另请参阅
以编程方式确定PDF/A合规性 programmatically-determining-pdf-a-compliancy
您可以使用DocConverter服务来确定PDF文档是否符合PDF/A标准。 有关PDF/A文档以及如何将PDF文档转换为PDF/A文档的信息,请参阅将文档转换为PDF/A文档。
步骤摘要 summary_of_steps-1
要确定PDF/A合规性,请执行以下步骤:
- 包括项目文件。
- 创建DocConvert客户端
- 引用用于确定PDF/A合规性的PDF文档。
- 设置运行时选项。
- 检索有关PDF文档的信息。
包含项目文件
在开发项目中包含必要的文件。 如果使用Java创建客户端应用程序,请包含必要的JAR文件。 如果使用Web服务,请确保包含代理文件。
必须将以下JAR文件添加到项目的类路径中:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-docconverter-client.jar
- adobe-utilities.jar(如果在JBoss Application Server上部署了AEM Forms,则此为必填字段)
- 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/文档时跟踪的信息量。
检索有关PDF文档的信息
创建DocConverter服务客户端、引用PDF文档并设置运行时选项后,可以确定PDF文档是否为符合PDF/A标准的文档。
另请参阅
使用Java API确定PDF合规性 determine-pdf-a-compliancy-using-the-java-api
使用Java API确定PDF合规性:
-
包含项目文件
将客户端JAR文件(如adobe-doconverter-client.jar)包含在Java项目的类路径中。
-
创建DocConvert客户端
- 创建包含连接属性的
ServiceClientFactory
对象。 - 使用对象的构造函数创建
DocConverterServiceClient
对象并传递ServiceClientFactory
对象。
- 创建包含连接属性的
-
引用用于确定PDF/A合规性的PDF文档
- 创建一个
java.io.FileInputStream
对象,该对象表示要使用其构造函数转换的PDF文档,并传递一个指定PDF文件位置的字符串值。 - 使用对象的构造函数创建
com.adobe.idp.Document
对象并传递java.io.FileInputStream
对象。
- 创建一个
-
设置运行时选项
- 使用构造函数创建
PDFAValidationOptionSpec
对象。 - 通过调用
PDFAValidationOptionSpec
对象的setCompliance
方法并传递PDFAValidationOptionSpec.Compliance.PDFA_1B
来设置符合性级别。 - 通过调用
PDFAValidationOptionSpec
对象的setLogLevel
方法并传递指定跟踪级别的字符串值来设置信息跟踪级别。 例如,传递值FINE
。 有关不同值的信息,请参阅AEM Forms API引用中的setLogLevel
方法。
- 使用构造函数创建
-
检索有关PDF文档的信息
通过调用
DocConverterServiceClient
对象的isPDFA
方法并传递以下值来确定PDF/A合规性:- 包含PDF文档的
com.adobe.idp.Document
对象。 - 指定运行时选项的
PDFAValidationOptionSpec
对象。
isPDFA
方法返回包含此操作结果的PDFAValidationResult
对象。 - 包含PDF文档的
另请参阅
使用Web服务API确定PDF/A合规性 determine-pdf-a-compliancy-using-the-web-service-api
使用Web服务API确定PDF/A合规性:
-
包含项目文件
- 创建使用DocConverter WSDL的Microsoft .NET客户端程序集。
- 引用Microsoft .NET客户端程序集。
-
创建DocConvert客户端
- 使用Microsoft .NET客户端程序集,通过调用其默认构造函数创建
DocConverterServiceService
对象。 - 使用
System.Net.NetworkCredential
值设置DocConverterServiceService
对象的Credentials
数据成员,该值指定用户名和密码值。
- 使用Microsoft .NET客户端程序集,通过调用其默认构造函数创建
-
引用用于确定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
对象。
- 使用构造函数创建
-
设置运行时选项
- 使用构造函数创建
PDFAValidationOptionSpec
对象。 - 通过分配值为
PDFAConversionOptionSpec_Compliance.PDFA_1B
的PDFAValidationOptionSpec
对象的compliance
数据成员来设置合规性级别。 - 通过分配值为
PDFAValidationOptionSpec_ResultLevel.DETAILED
的PDFAValidationOptionSpec
对象的resultLevel
数据成员来设置信息跟踪级别。
- 使用构造函数创建
-
检索有关PDF文档的信息
通过调用
DocConverterServiceService
对象的isPDFA
方法并传递以下值来确定PDF/A合规性:- 包含PDF文档的
BLOB
对象。 - 包含运行时选项的
PDFAValidationOptionSpec
对象。
isPDFA
方法返回包含此操作结果的PDFAValidationResult
对象。 - 包含PDF文档的
另请参阅