在 EPS 的 XMP 元数据中添加 XML 命名空间 |Java

为了在 EPS 文件的 XMP 元数据中添加 XML 命名空间,需要执行以下步骤:

  1. 初始化用于输入 EPS 文件的输入流。
  2. 从先前创建的输入流创建 PsDocument 的实例。
  3. 从 PsDocument 获取 XmpMetadata 的实例。如果给定的 EPS 文件不包含 XMP 元数据,则将创建新的实例,并使用 PS 元数据注释中的值填充该实例并返回给您。
  4. 现在,您可以向元数据添加新的 XML 命名空间。
  5. 初始化用于输出 EPS 文件的输出流。
  6. 保存包含更改后的 XMP 元数据的 EPS 文件。


以下代码片段展示了如何在 Java 中向 EPS 文件的 XMP 元数据中添加 XML 命名空间:

 1// Add namespace in XMP metadata in EPS document.
 2	
 3// Initialize EPS file input stream
 4try (FileInputStream psStream = new FileInputStream(getDataDir() + "add_simple_props_input.eps")) {
 5    // Create PsDocument instance from stream
 6    PsDocument document = new PsDocument(psStream);
 7	
 8    String outputFileName = "add_xmp_namespace_out.eps";
 9	
10    try {
11        // Get XMP metadata. If EPS file doesn't contain XMP metadata we get new one filled with values from PS metadata comments (%%Creator, %%CreateDate, %%Title etc)
12        XmpMetadata xmp = document.getXmpMetadata();
13	
14        //Change XMP metadata values
15	
16        // Add new XML namespace "tmp".
17        xmp.registerNamespaceURI("tmp", "http://www.some.org/schema/tmp#");
18	
19        // Add new string property in new namespace.
20        xmp.put("tmp:newKey", new XmpValue("NewValue"));
21	
22        // Save EPS file with changed XMP metadata
23	
24        // Create ouput stream
25        try (FileOutputStream outPsStream = new FileOutputStream(getOutputDir() + outputFileName)) {
26            // Save EPS file
27            document.save(outPsStream);
28        }
29    } catch (IOException ex) {
30    }

请参阅 .NETC++ 中的 XMP 元数据中添加 XMl 命名空间。

您可以从 GitHub下载示例和数据文件。

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.