Получить метаданные XMP из файла EPS с помощью Java

Чтобы извлечь метаданные XMP из файла EPS, необходимо выполнить несколько шагов:

  1. Инициализируйте входной поток для входного файла EPS.
  2. Создайте экземпляр PsDocument из созданного ранее входного потока.
  3. Получите экземпляр XmpMetadata из ​​PsDocument. Если данный файл EPS не содержит метаданных XMP, используется новый. будет создан, заполнен значениями из комментариев метаданных PS и возвращен вам.
  4. Теперь вы можете просматривать значения полей метаданных.


В следующем фрагменте кода показано, как извлечь метаданные XMP из файла EPS на Java:

 1// For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-Java    	
 2// Set license
 3new License().setLicense(BaseExamplesTest.LICENSE_PATH);
 4
 5// The path to the documents directory.
 6String dataDir = Utils.getDataDir();
 7
 8// Initialize input EPS file stream
 9FileInputStream psStream = new FileInputStream(dataDir + "xmp1.eps");
10
11PsDocument document = new PsDocument(psStream);
12
13try {
14    // 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)
15    XmpMetadata xmp = document.getXmpMetadata();
16
17    // Get "CreatorTool" value
18    if (xmp.containsKey("xmp:CreatorTool"))
19        System.out.println("CreatorTool: " + xmp.get("xmp:CreatorTool").toStringValue());
20    
21    // Get "CreateDate" value
22    if (xmp.containsKey("xmp:CreateDate"))
23        System.out.println("CreateDate: " + xmp.get("xmp:CreateDate").toStringValue());
24
25    // Get a width of a thumbnail image if exists
26    if (xmp.containsKey("xmp:Thumbnails") && xmp.get("xmp:Thumbnails").isArray()) {
27        XmpValue val = xmp.get("xmp:Thumbnails").toArray()[0];
28        if (val.isNamedValues() && val.toNamedValues().containsKey("xmpGImg:width"))
29            System.out.println("Thumbnail Width: " + val.toNamedValues().get("xmpGImg:width").toInteger());
30    }
31
32    // Get "format" value
33    if (xmp.containsKey("dc:format"))
34        System.out.println("Format: " + xmp.get("dc:format").toStringValue());
35
36    // Get "DocumentID" value
37    if (xmp.containsKey("xmpMM:DocumentID"))
38        System.out.println("DocumentID: " + xmp.get("xmpMM:DocumentID").toStringValue());
39
40} finally {
41    // close input EPS stream
42	psStream.close();
43}

См. извлечение метаданных XMP в .NET и C++.

Вы можете загрузить примеры и файлы данных с сайта GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.