Bibliothèque Java pour lire et écrire des métadonnées IPTC vers JPEG et TIFF
<!-Est-ce que quelqu'un connaît une bibliothèque Java opensource pour lire et rédaction IPTC metadata to JPEG and TIFF? Maintenant J'utilise Apache Sanselan. Malheureusement, il ne peut lire IPTC, pas écrire (http://commons.apache.org/sanselan/formatsupport.html).
Sera très reconnaissant pour votre aide.
Denis.
5 réponses
regardez IIM4J. Utilisez IIMWriter
pour écrire les balises IPTC IIM dans les images (jpeg).
Apache Commons Imagerie (anciennement sanselan) a ajouté le support pour écrire des métadonnées IPTC dans le code SVN repo pour leur prochaine version. J'ai vérifié qu'il en est ainsi dans le dernier code de tronc vérifié à partir de svn repo. Le code semble stable donc j'espère qu'une version n'est pas trop loin. Pour mon projet, ce est assez bon.
Cela semble être une très vieille question, mais voici quelques infos utiles:
lecture de métadonnées telles que EXIF, IPTC..l'etc peut être réalisé en utilisant Apache Commons Imaging(anciennement Sanselan) ou Metadata Extractor(par drew noaks).
l'écriture des métadonnées peut être faite en utilisant Apache Commons Imaging en utilisant les classes suivantes:
EXIF - ExifRewriter (http://commons.apache.org/proper/commons-imaging/apidocs/org/apache/commons/imaging/formats/jpeg/exif/ExifRewriter.html)
IPTC-JpegIptcRewriter (http://commons.apache.org/proper/commons-imaging/apidocs/org/apache/commons/imaging/formats/jpeg/iptc/JpegIptcRewriter.html)
XMP - Jpegxmprwriter (http://commons.apache.org/proper/commons-imaging/apidocs/org/apache/commons/imaging/formats/jpeg/xmp/JpegXmpRewriter.html)
je me suis regardé dans le passé mais je n'en ai pas trouvé. Je suggère d'examiner un projet open source tel que http://sourceforge.net/projects/image-tagger/ et voir comment ils font.
Pour la lecture des métadonnées je pense que vous devriez jeter un oeil sur " extracteur de métadonnées " - un projet Open Source (licence Apache 2.0) qui développe une bibliothèque Java pour lire des métadonnées à partir de fichiers image.
a l'heure actuelle, ce projet peut accéder aux métadonnées d'images suivantes:
- Exif
- IPTC
- XMP
- JFIF / JFXX
- profils ICC
- Photoshop les champs
Le " extracteur de métadonnées" est hébergé google code.
voici un petit exemple de code simple pour la version 2.4.0:
public void example() throws Exception {
File jpegFile = new File("yourJpgFile.jpg");
Metadata metadata = ImageMetadataReader.readMetadata(jpegFile);
Iterator directory = metadata.getDirectoryIterator();
while (directory.hasNext()) {
Object tag = directory.next();
if (tag instanceof ExifDirectory) {
Iterator tags = ((ExifDirectory) tag).getTagIterator();
while (tags.hasNext()) {
System.out.println("EXIF: "+tags.next().toString());
}
} else if (tag instanceof IptcDirectory) {
Iterator tags = ((IptcDirectory) tag).getTagIterator();
while (tags.hasNext()) {
System.out.println("IPTC: "+tags.next().toString());
}
} else if (tag instanceof JpegDirectory) {
Iterator tags = ((JpegDirectory) tag).getTagIterator();
while (tags.hasNext()) {
System.out.println("JPEG: "+tags.next().toString());
}
} else {
System.err.println(tag.getClass());
}
}
}