本文档中的示例和示例仅适用于AEM Forms on JEE环境。
关于XMP Utilities服务
PDF文档包含元数据,元数据是有关文档的信息,与文档内容(如文本和图形)不同。 Adobe可扩展元数据平台(XMP)是处理文档元数据的标准。
XMP Utilities服务可以从PDF文档中检索和保存XMP元数据,并将XMP元数据导入PDF文档。
您可以使用XMP Utilities服务完成这些任务:
有关XMP Utilities服务的详细信息,请参见 AEM Forms的服务参考.
您可以使用XMP实用程序Java和Web服务API以编程方式将XMP元数据导入PDF文档。 元数据提供有关PDF文档的信息,例如文档的作者和与文档相关的关键字。 元数据可以位于文档的“文档属性”对话框中,如下图所示。
要以编程方式将元数据导入PDF文档,可以使用指定元数据值的现有XML文档,也可以使用类型的对象 XMPUtilityMetadata
. (请参阅 AEM Forms API参考.)
本节讨论如何使用XML文档将元数据导入PDF文档。
以下XML代码包含与上图对应的元数据值。 例如,请注意用于指定关键字的粗体项目。
<?xpacket begin="?" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2-jc015 52.349034, 2008 Jun 20 00:30:39-PDT (debug)">
<rdf:RDF xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="https://ns.adobe.com/xap/1.0/">
<xmp:MetadataDate>2008-10-22T10:52:21-04:00</xmp:MetadataDate>
<xmp:CreatorTool>AEM Forms</xmp:CreatorTool>
<xmp:ModifyDate>2008-10-22T10:52:21-04:00</xmp:ModifyDate>
<xmp:CreateDate>2008-02-13T11:00:18-05:00</xmp:CreateDate>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:pdf="https://ns.adobe.com/pdf/1.3/">
<pdf:Producer>AEM Forms</pdf:Producer>
<pdf:Keywords>keyword1, keyword2, keyword3,keyword4</pdf:Keywords>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:xmpMM="https://ns.adobe.com/xap/1.0/mm/">
<xmpMM:DocumentID>uuid:1cce1f84-331e-4d8d-8538-15441c271dd7</xmpMM:DocumentID>
<xmpMM:InstanceID>uuid:cdda0ca6-7c91-4771-9dc9-796c8fe59350</xmpMM:InstanceID>
</rdf:Description>
<rdf:Description rdf:about=""
>
<dc:format>application/pdf</dc:format>
<dc:description>
<rdf:Alt>
<rdf:li xml:lang="x-default">Adobe Designer Sample</rdf:li>
</rdf:Alt>
</dc:description>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">Grant Application</rdf:li>
</rdf:Alt>
</dc:title>
<dc:creator>
<rdf:Seq>
<rdf:li>Tony Blue</rdf:li>
</rdf:Seq>
</dc:creator>
<dc:subject>
<rdf:Bag>
<rdf:li>keyword1</rdf:li>
<rdf:li>keyword2</rdf:li>
<rdf:li>keyword3</rdf:li>
<rdf:li>keyword4</rdf:li>
</rdf:Bag>
</dc:subject>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:desc="https://ns.adobe.com/xfa/promoted-desc/">
<desc:version rdf:parseType="Resource">
<rdf:value>1.0</rdf:value>
<desc:ref>/template/subform[1]</desc:ref>
</desc:version>
<desc:contact rdf:parseType="Resource">
<rdf:value>Adobe Systems Incorporated</rdf:value>
<desc:ref>/template/subform[1]</desc:ref>
</desc:contact>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
有关XMP Utilities服务的详细信息,请参见 AEM Forms的服务参考.
要将XMP元数据导入PDF文档,请执行以下步骤:
包括项目文件
在开发项目中包含必要的文件。 如果要使用Java创建客户端应用程序,请包含必要的JAR文件。 如果使用Web服务,请确保包含代理文件。
创建XMPUtilityService客户端
必须先创建XMPUtilityService客户端,然后才能以编程方式执行XMP Utilities操作。 使用Java API,可通过创建 XMPUtilityServiceClient
对象。 通过Web服务API,可使用 XMPUtilityServiceService
对象。
调用XMP元数据导入操作
创建服务客户端后,可以调用某个XMP元数据导入操作以将XMP元数据导入指定的PDF文档。
另请参阅
使用XMP Utilities API (Java)导入XMP元数据:
包括项目文件
在Java项目的类路径中包含客户端JAR文件,例如adobe-pdfutility-client.jar。
adobe-pdfutility-client.jar文件包含的类允许您以编程方式调用XMP实用程序服务。
创建XMPUtilityService客户端
创建 XMPUtilityServiceClient
对象通过使用该对象的构造函数传递 ServiceClientFactory
包含连接属性的对象。
调用XMP元数据导入操作
要修改XMP元数据,请调用 XMPUtilityServiceClient
对象的 importMetadata
方法或其 importXMP
方法。
如果您使用 importMetadata
方法,传入以下值:
com.adobe.idp.Document
表示PDF文件的对象。XMPUtilityMetadata
包含要导入的元数据的对象。如果您使用 importXMP
方法,传入以下值:
com.adobe.idp.Document
表示PDF文件的对象。com.adobe.idp.Document
表示包含要导入的元数据的XML文件的对象。在任一情况下,返回的值都是 com.adobe.idp.Document
表示包含新导入的PDF的元数据文件的对象。 然后,您可以将此对象保存到磁盘。
另请参阅
要使用XMP实用程序Web服务API以编程方式导入XMP元数据,请执行以下任务:
包括项目文件
创建XMPUtilityService客户端
创建 XMPUtilityServiceService
对象。
调用XMP元数据导入操作
要修改XMP元数据,请调用 XMPUtilityServiceService
对象的 importMetadata
方法或其 importXMP
方法。
如果您使用 importMetadata
方法,传入以下值:
BLOB
表示PDF文件的对象。XMPUtilityMetadata
包含要导入的元数据的对象。如果您使用 importXMP
方法,传入以下值:
BLOB
表示PDF文件的对象。BLOB
表示包含要导入的元数据的XML文件的对象。在任一情况下,返回的值都是 BLOB
表示包含新导入的PDF的元数据文件的对象。 然后,您可以将此对象保存到磁盘。
另请参阅
您可以使用XMP实用程序Java和Web服务API以编程方式从PDF文档中检索和保存XMP元数据。
有关XMP Utilities服务的详细信息,请参见 AEM Forms的服务参考.
要从PDF文档中导出XMP元数据,请执行以下步骤:
包括项目文件
在开发项目中包含必要的文件。 如果要使用Java创建客户端应用程序,请包含必要的JAR文件。 如果使用Web服务,请确保包含代理文件。
创建XMPUtilityService客户端
必须先创建XMPUtilityService客户端,然后才能以编程方式执行XMP Utilities操作。 使用Java AP,可通过创建 XMPUtilityServiceClient
对象。 通过Web服务API,可使用 XMPUtilityServiceService
对象。
调用XMP元数据导出操作
创建服务客户端后,可以调用其中一个XMP元数据导出操作,该操作可用于检查XMP元数据或将其保存到磁盘。
另请参阅
使用XMP Utilities API (Java)导出XMP元数据:
包括项目文件
在Java项目的类路径中包含客户端JAR文件,例如adobe-pdfutility-client.jar。
adobe-pdfutility-client.jar文件包含的类使您能够以编程方式调用XMP实用程序服务。
创建XMPUtilityService客户端
创建 XMPUtilityServiceClient
对象通过使用该对象的构造函数传递 ServiceClientFactory
包含连接属性的对象。
调用XMP元数据导入操作
要检查XMP元数据,请调用 XMPUtilityServiceClient
对象的 exportMetadata
方法和传入 com.adobe.idp.Document
表示PDF文件的对象。 此方法会返回 XMPUtilityMetadata
包含检索的元数据的对象。
要检索和保存XMP元数据,请调用 XMPUtilityServiceClient
对象的 exportXMP
方法和传入 com.adobe.idp.Document
表示PDF文件的对象。 此方法会返回 com.adobe.idp.Document
包含已检索元数据的对象,随后可将其另存为XML文件保存到磁盘。
另请参阅
使用XMP Utilities API (Web服务)导出XMP元数据:
包括项目文件
创建XMPUtilityService客户端
创建 XMPUtilityServiceService
对象。
调用XMP元数据导入操作
要检查XMP元数据,请调用 XMPUtilityServiceClient
对象的 exportMetadata
方法和传入 BLOB
表示PDF文件的对象。 此方法会返回 XMPUtilityMetadata
包含检索的元数据的对象。
要检索和保存XMP元数据,请调用 XMPUtilityServiceClient
对象的 exportXMP
方法和传入 BLOB
表示PDF文件的对象。 此方法会返回 BLOB
包含已检索元数据的对象,随后可将其另存为XML文件保存到磁盘。
另请参阅