Javaを使用してEPSファイルからXMPメタデータを取得する

EPSファイルからXMPメタデータを抽出するには、いくつかの手順が必要です。

  1. 入力EPSファイル用の入力ストリームを初期化します。
  2. 先ほど作成した入力ストリームから PsDocumentのインスタンスを作成します。
  3. PsDocumentから XmpMetadataのインスタンスを取得します。指定されたEPSファイルにXMPメタデータが含まれていない場合は、新しいメタデータが作成され、PSメタデータコメントの値が入力されて返されます。
  4. これで、メタデータフィールドの値を確認できます。


次のコードスニペットは、JavaでEPSファイルからXMPメタデータを抽出する方法を示しています。

 1// Get XMP metadata from EPS document.
 2
 3// Create PsDocument instance from file
 4PsDocument document = new PsDocument(getDataDir() + "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.containsKey("xmp:CreatorTool"))
11    System.out.println("CreatorTool: " + xmp.get("xmp:CreatorTool").toStringValue());
12
13// Get "CreateDate" value
14if (xmp.containsKey("xmp:CreateDate"))
15    System.out.println("CreateDate: " + xmp.get("xmp:CreateDate").toStringValue());
16
17// Get a width of a thumbnail image if exists
18if (xmp.containsKey("xmp:Thumbnails") && xmp.get("xmp:Thumbnails").isArray()) {
19    XmpValue val = xmp.get("xmp:Thumbnails").toArray()[0];
20    if (val.isNamedValues() && val.toDictionary().containsKey("xmpGImg:width"))
21        System.out.println("Thumbnail Width: " + val.toDictionary().get("xmpGImg:width").toInteger());
22}
23
24// Get "format" value
25if (xmp.containsKey("dc:format"))
26    System.out.println("Format: " + xmp.get("dc:format").toStringValue());
27
28// Get "DocumentID" value
29if (xmp.containsKey("xmpMM:DocumentID"))
30    System.out.println("DocumentID: " + xmp.get("xmpMM:DocumentID").toStringValue());

.NET および C++ での XMP メタデータの抽出を参照してください。

サンプルとデータ ファイルは GitHub からダウンロードできます。

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.