2012-03-27 59 views

回答

1

的MetadataExtractor可用於提取元數據的Exif一樣,IPTC ...多,http://www.drewnoakes.com/code/exif/

下面的代碼將打印在文件中找到的元數據:

Metadata metadata = ImageMetadataReader.readMetadata(file); 
Iterable<Directory> directories = metadata.getDirectories(); 
Iterator<Directory> iterator = directories.iterator(); 
while(iterator.hasNext()) { 
    Directory dir = iterator.next(); 
    Collection<Tag> tags = dir.getTags(); 
    for(Tag tag: tags) { 
     System.out.println(tag.getTagName() + " " + tag.getDescription() + " " + tag.getTagTypeHex()); 
    } 
} 

該代碼使用了最新版本候選人,http://code.google.com/p/metadata-extractor/downloads/detail?name=metadata-extractor-2.5.0-RC3.zip&can=2&q=

至少,這是開始提取,我認爲這是一個很難的部分。

1

在你的情況下,處理BufferedImage是一個問題,因爲它只包含可視光柵圖像數據。當從JPG數據創建BufferedImage時,所有Exif/IPTC/Jfif/etc元數據都被剝離。

因此,您需要處理原始JPG數據,並按照Kennet的詳細說明進行操作。

元數據提取器庫不會直接生成JSON,因此您需要找到另一個庫來提供此操作。