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.

16
demandé sur Storm 2010-10-04 01:26:42

5 réponses

regardez IIM4J. Utilisez IIMWriter pour écrire les balises IPTC IIM dans les images (jpeg).

5
répondu Ben Asmussen 2017-04-29 08:46:35

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.

4
répondu Farrukh Najmi 2012-07-02 13:20:46

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)

3
répondu dev009 2016-10-25 13:28:07

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.

1
répondu samblake 2010-10-05 20:41:02

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());
        }           
    }
}
0
répondu Erik 2011-09-13 14:06:05