这与在 Java 中提取长度超过 64 个字符的 IPTC 关键字 https://stackoverflow.com/q/38399216/2564301。请参阅我的评论。
问题是,在 Adobe Bridge 中添加到 JPEG 文件的标题作为描述选项卡中的“文档标题”(在 Windows 文件属性对话框的详细信息选项卡中也显示为“标题”)最终出现在 JPEG 文件中的两个位置,如文件的十六进制显示所示。一本有完整的标题,另一本只有 64 个字符。
我可以通过检索所有元数据目录中的所有标签描述来获取截断的标题(标签名称“对象名称”),但我无法获取完整的标题。
下面是一个示例文件,其嵌入标题是“Waiohai 海滩俱乐部和 Poipu 海滩公园之间的清晨”:
我很乐意为您看一下这个。然而,imgur 已从该文件中删除了元数据。
您可以在 GitHub 项目上提出问题吗?任何附加图像都不会删除元数据:
https://github.com/drewnoakes/metadata-extractor/issues/new https://github.com/drewnoakes/metadata-extractor/issues/new
另请说明您是否授予在项目的回归测试数据集中使用该图像的权限。
我从您的其他帖子中看到的是,您引用的较长形式是:
该字符串位于 XMP 数据内(由围绕它的 RDF XML 证明)。您可以使用类似以下的代码访问它:
// Extract metadata from the image
Metadata metadata = ImageMetadataReader.readMetadata(image);
// Iterate through any XMP directories we may have received
for (XmpDirectory xmpDirectory : metadata.getDirectoriesOfType(XmpDirectory.class)) {
// Usually with metadata-extractor, you iterate a directory's tags. However XMP has
// a complex structure with many potentially unknown properties. This doesn't map
// well to metadata-extractor's directory-and-tag model.
//
// If you need to use XMP data, access the XMPMeta object directly.
XMPMeta xmpMeta = xmpDirectory.getXMPMeta();
// Iterate XMP properties
XMPIterator itr = xmpMeta.iterator();
while (itr.hasNext()) {
XMPPropertyInfo property = (XMPPropertyInfo) itr.next();
// Print details of the property
System.out.println(property.getPath() + ": " + property.getValue());
}
}
我仍然想查看示例图像,但在看到十六进制编辑器的屏幕截图后,我怀疑 Adobe Bridge 将 IPTC 的字符串截断为 64 字节。在线快速搜索表明这是 IPTC 关键字字段的最大长度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)