Ottieni metadati XMP da file EPS utilizzando Java

Per estrarre i metadati XMP da un file EPS è necessario eseguire diversi passaggi:

  1. Inizializzare un flusso di input per il file EPS di input.
  2. Creare un’istanza di PsDocument dal flusso di input creato in precedenza.
  3. Ottenere un’istanza di XmpMetadata dal PsDocument. Se il file EPS specificato non contiene metadati XMP, ne verrà creato uno nuovo, compilato con i valori dei commenti dei metadati PS e restituito.
  4. Ora è possibile visualizzare i valori dei campi dei metadati.


Il seguente frammento di codice mostra come estrarre i metadati XMP da un file EPS in 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}

Vedere l’estrazione dei metadati XMP in .NET e C++.

È possibile scaricare esempi e file di dati da GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.