Holen Sie sich XMP-Metadaten aus einer EPS-Datei mit Java
Um XMP-Metadaten aus einer EPS-Datei zu extrahieren, müssen mehrere Schritte ausgeführt werden:
- Initialisieren Sie einen Eingabestream für die Eingabe-EPS-Datei.
- Erstellen Sie eine Instanz von PsDocument aus dem zuvor erstellten Eingabestream.
- Holen Sie sich eine Instanz von XmpMetadata aus dem PsDocument. Wenn die angegebene EPS-Datei keine XMP-Metadaten enthält, wird die neue Datei verwendet wird erstellt, mit Werten aus PS-Metadatenkommentaren gefüllt und an Sie zurückgegeben.
- Jetzt können Sie die Werte der Metadatendateien anzeigen.
Der folgende Codeausschnitt zeigt, wie man XMP-Metadaten aus einer EPS-Datei in Java extrahiert:
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}
Sie können Beispiele und Datendateien herunterladen von GitHub.