Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从JPEG元数据检索标题的全文_Java_Jpeg_Metadata Extractor - Fatal编程技术网

Java 无法从JPEG元数据检索标题的全文

Java 无法从JPEG元数据检索标题的全文,java,jpeg,metadata-extractor,Java,Jpeg,Metadata Extractor,这与经济发展密切相关。请看我的评论 问题在于,在Adobe Bridge中,作为“说明”选项卡中的“文档标题”添加到JPEG文件的标题(在“Windows文件属性”对话框的“详细信息”选项卡中也显示为“标题”)在JPEG文件中的两个位置结束,如文件的十六进制显示所示。一个有完整的标题,另一个只有64个字符 我可以通过检索所有元数据目录中的所有标记描述来获取截断的标记(标记名“Object name”),但我无法获取完整的标题 下面是一个示例文件,其嵌入标题为“Waiohai海滩俱乐部和波普海滩公

这与经济发展密切相关。请看我的评论

问题在于,在Adobe Bridge中,作为“说明”选项卡中的“文档标题”添加到JPEG文件的标题(在“Windows文件属性”对话框的“详细信息”选项卡中也显示为“标题”)在JPEG文件中的两个位置结束,如文件的十六进制显示所示。一个有完整的标题,另一个只有64个字符

我可以通过检索所有元数据目录中的所有标记描述来获取截断的标记(标记名“Object name”),但我无法获取完整的标题

下面是一个示例文件,其嵌入标题为“Waiohai海滩俱乐部和波普海滩公园之间的海滩上的清晨”:


我很乐意为您看一看。然而,imgur已经从该文件中剥离了元数据

你能在GitHub项目上打开一个问题吗?任何附加的图像都不会删除元数据:

还请说明您是否授予在项目回归测试数据集中使用图像的权限


我从你的另一篇文章中可以看到,你引用的较长表单是:

该字符串在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());
    }
}

我仍然希望看到一个示例图像,但在hex编辑器中看到了您的屏幕截图后,我怀疑Adobe Bridge正在将IPTC的字符串截断为64字节。在线快速搜索表明,这是IPTC关键字字段的最大长度。

所提到的相关问题是,您的文档中的十六进制转储是否也与此问题相关?那么请把它们加在这里,这样问题就独立了。如果你不能嵌入图片,不要担心——有人肯定会帮你嵌入的。XMP目录正是我所需要的。标题的全文位于路径为“dc:title[1]”的属性中。非常感谢。我将把图片上传到GitHub。