首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从共用io图像写入的XMP数据,元数据提取器无法读取

从共用io图像写入的XMP数据,元数据提取器无法读取
EN

Stack Overflow用户
提问于 2016-10-27 03:39:28
回答 1查看 459关注 0票数 2

我使用commons成像库将xmp元数据添加到JPEG文件中。我就是这样做的:

代码语言:javascript
复制
   String xmpXml = "<dc:decription>some sample desc123</dc:description>";
   JpegXmpRewriter rewriter = new JpegXmpRewriter();
   rewriter.updateXmpXml(is,os, xmpXml);

在上面的文件上运行exiftool显示了上面创建的xmp数据:

代码语言:javascript
复制
$ exiftool 167_sample.jpg | grep "Description"
Description                  : some sample desc123

但是,使用元数据提取器,我无法从上面读取Description标记:

代码语言:javascript
复制
Metadata metadata = com.drew.imaging.ImageMetadataReader.readMetadata(file.inputStream) 
for (XmpDirectory xmpDirectory : metadata.getDirectoriesOfType(XmpDirectory.class)) {
    XMPMeta xmpMeta = xmpDirectory.getXMPMeta();
    XMPIterator itr = xmpMeta.iterator();
    while (itr.hasNext()) {
        XMPPropertyInfo property = (XMPPropertyInfo) itr.next();
        System.out.println(property.getPath() + ": " + property.getValue());
    }
}

更有趣的是,当metadata-extractor 用于创建xmp标记时,exiftool可以读取Description标记。

代码语言:javascript
复制
$ exiftool -xmp-dc:description=Manuallyaddedthis 167_sample.jpg

Metadata metadata = com.drew.imaging.ImageMetadataReader.readMetadata(new File ("167_sample.jpg")) 
for (XmpDirectory xmpDirectory : metadata.getDirectoriesOfType(XmpDirectory.class)) {
    XMPMeta xmpMeta = xmpDirectory.getXMPMeta();
    XMPIterator itr = xmpMeta.iterator();
    while (itr.hasNext()) {
        XMPPropertyInfo property = (XMPPropertyInfo) itr.next();
        System.out.println(property.getPath() + ": " + property.getValue());
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-10-27 21:24:31

元数据提取器为您附加到此问题的图像(第二,“自动粘附标签”)生成一个错误:

错误:处理XMP数据错误: XML解析失败

进一步看,XMP XML似乎只包含以下内容:

代码语言:javascript
复制
<dc:description>some sample description</dc:description>

在您发布的代码的第一行中,很清楚原因。

这不是一个有效的XMP文档。Adobe的XMPCore库不接受它。

您可能希望使用XMPCore库来生成有效的XMP文档。或者,添加相关的父标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40275722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档