使用 .NET 从 EPS 文件获取 XMP 元数据

您可以使用 Metadata Web 应用检查 Aspose.Page XMP Metadata 的质量。

为了从 EPS 文件中提取 XMP 元数据,需要执行以下步骤:

  1. 为 EPS 文件打开一个 FileStream(或 using 语句),例如 using var stream = new FileStream("sample.eps", FileMode.Open);
  2. 从流中创建一个 PsDocumentvar document = new PsDocument(stream);
  3. 通过 XmpMetadata xmp = document.XmpMetadata; 检索 XMP 元数据。如果 EPS 文件不包含 XMP,Aspose 会创建一个新的 XmpMetadata 对象,并填充 PS 注释。
  4. 访问元数据属性(例如 xmp.Titlexmp.Authorxmp.Description)以读取其值。

以下代码片段展示了如何在 C# 中从 EPS 文件中提取 XMP 元数据:

 1// Get XMP metadata from EPS document.
 2
 3// Create PsDocument instance from file
 4PsDocument document = new PsDocument(DataDir + "get_input.eps");
 5
 6// 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)
 7XmpMetadata xmp = document.GetXmpMetadata();
 8
 9// Get "CreatorTool" value
10if (xmp.Contains("xmp:CreatorTool"))
11    Console.WriteLine("CreatorTool: " + xmp["xmp:CreatorTool"].ToStringValue());
12
13// Get "CreateDate" value
14if (xmp.Contains("xmp:CreateDate"))
15    Console.WriteLine("CreateDate: " + xmp["xmp:CreateDate"].ToStringValue());
16
17// Get a width of a thumbnail image if exists
18if (xmp.Contains("xmp:Thumbnails") && xmp["xmp:Thumbnails"].IsArray)
19{
20    XmpValue val = xmp["xmp:Thumbnails"].ToArray()[0];
21    if (val.IsNamedValues && val.ToDictionary().ContainsKey("xmpGImg:width"))
22        Console.WriteLine($"Thumbnail Width: {val.ToDictionary()["xmpGImg:width"].ToInteger()}");
23}
24
25// Get "format" value
26if (xmp.Contains("dc:format"))
27    Console.WriteLine("Format: " + xmp["dc:format"].ToStringValue());
28
29// Get "DocumentID" value
30if (xmp.Contains("xmpMM:DocumentID"))
31    Console.WriteLine("DocumentID: " + xmp["xmpMM:DocumentID"].ToStringValue());

请参阅 JavaC++ 中提取 XMP 元数据。

在我们的 Metadata 应用程序上在线评估 XMP 元数据。

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

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.