2

Ich verwende Commons io Imaging-Bibliothek, um XML-Metadaten zu einer JPEG-Datei hinzuzufügen. Dies ist, wie ich es so mache:XMP-Daten, die von Commons stammen io Imaging nicht lesbar durch Metadaten-Extraktor

String xmpXml = "<dc:decription>some sample desc123</dc:description>"; 
    JpegXmpRewriter rewriter = new JpegXmpRewriter(); 
    rewriter.updateXmpXml(is,os, xmpXml); 

Lauf exiftool auf der obigen Datei zeigt die erstellten XMP-Daten von oben:

$ exiftool 167_sample.jpg | grep "Description" 
Description     : some sample desc123 

jedoch metadata-extractor Verwendung Ich kann den Description-Tag nicht liest aus oben: interessanter

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()); 
    } 
} 

Mehr, metadata-extractorCAN lesen Sie die Description tag wenn exiftool verwendet wird, um den XMP-Tag

$ 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()); 
    } 
} 
+0

Als Referenz folgt diese Frage aus der Ausgabe https://github.com/drewnoakes/metadata-extractor/issues/200 –

Antwort

0

Metadaten-Extraktor erzeugt einen Fehler für die (zweiten, "selbstklebende Etikett") erstellen endet Bild auf dieses Problem angehängt:

ERROR: Error processing XMP data: XML parsing failure

suchen Sie weiter, so scheint es, dass die XMP XML nur die enthält folgende:

<dc:description>some sample description</dc:description> 

In der ersten Zeile des Codes Sie auf dem Laufenden, es ist klar, warum.

Dies ist kein gültiges XMP-Dokument. Die XMPCore-Bibliothek von Adobe akzeptiert dies nicht.

Möglicherweise möchten Sie die XMPCore-Bibliothek verwenden, um ein gültiges XMP-Dokument zu erstellen. Fügen Sie alternativ die relevanten übergeordneten Tags hinzu.

Verwandte Themen