Package com.drew.metadata.iptc

Examples of com.drew.metadata.iptc.IptcReader


        //
        // This currently only applies to JPEG file processing.
        //
        try {
            // We are only interested in handling
            Iterable<JpegSegmentMetadataReader> readers = Arrays.asList(new ExifReader(), new IptcReader());

            Metadata metadata = JpegMetadataReader.readMetadata(file, readers);

            print(metadata);
        } catch (JpegProcessingException e) {
View Full Code Here


                directory.setByteArray(tagType, tagBytes);

                // TODO allow rebasing the reader with a new zero-point, rather than copying data here
                if (tagType == PhotoshopDirectory.TAG_IPTC)
                    new IptcReader().extract(new SequentialByteArrayReader(tagBytes), metadata, tagBytes.length);

                if (tagType >= 0x0fa0 && tagType <= 0x1387)
                    PhotoshopDirectory._tagNameMap.put(tagType, String.format("Plug-in %d Data", tagType - 0x0fa0 + 1));
            } catch (IOException ex) {
                directory.addError(ex.getMessage());
View Full Code Here

                final byte[] exifSegment = segmentReader.readSegment(JpegSegmentReader.SEGMENT_APP1);
                final byte[] iptcSegment = segmentReader.readSegment(JpegSegmentReader.SEGMENT_APPD);
                final Metadata metadata = new Metadata();
                new ExifReader(exifSegment).extract(metadata);
                new IptcReader(iptcSegment).extract(metadata);

                @SuppressWarnings("unchecked")
                final
                Iterator<Directory> directories = metadata.getDirectoryIterator();
                final HashMap<String, String> props = new HashMap<String, String>();
View Full Code Here

            byte[] iptcSegment = segmentReader.readSegment(JpegSegmentReader.SEGMENT_APPD);
            Metadata metadata = new Metadata();
            if (exifSegment != null)
                new ExifReader().extract(new ByteArrayReader(exifSegment), metadata);
            if (iptcSegment != null)
                new IptcReader().extract(new ByteArrayReader(iptcSegment), metadata);
            printImageTags(3, metadata);
        } catch (JpegProcessingException e) {
            System.err.println("error 3a: " + e);
        } catch (IOException e) {
            System.err.println("error 3b: " + e);
View Full Code Here

        Assert.assertNotNull(exifData);
        Assert.assertTrue("exif data too short", exifData.length > 4);
        // TODO extracting the data doesn't mean anything in this test case...
        Metadata metadata = new Metadata();
        new ExifReader().extract(new ByteArrayReader(exifData), metadata);
        new IptcReader().extract(new ByteArrayReader(iptcData), metadata);
        Assert.assertEquals("Exif", new String(exifData, 0, 4));
    }
View Full Code Here

  private IptcDirectory getIptcDirectory(Node node) {
    if ("unknown".equals(node.getNodeName())) {
      if (Integer.parseInt(node.getAttributes().getNamedItem("MarkerTag").getNodeValue()) == IPTC) {
      ByteArrayReader reader = new ByteArrayReader((byte[]) ((IIOMetadataNode) node).getUserObject());
      Metadata metadata = new Metadata();
      new IptcReader().extract(reader, metadata);
        return metadata.getDirectory(IptcDirectory.class);
      }
    }

    Node child = node.getFirstChild();
View Full Code Here

    if (directoryName.equalsIgnoreCase(IERMetadataDirectory.EXIF)) {
      new ExifReader().extract(reader, metadata);
      parsedMetadataDirectory = new ERParsedMetadataDirectory(directoryName);
    }
    else if (directoryName.equalsIgnoreCase(IERMetadataDirectory.IPTC)) {
      new IptcReader().extract(reader, metadata);
      parsedMetadataDirectory = new ERParsedMetadataDirectory(directoryName);
    }
   
    if (parsedMetadataDirectory != null) {
      for (Directory directory : metadata.getDirectories()) {
View Full Code Here

    {
        byte[] iptcData = reader.readSegment(JpegSegmentReader.SEGMENT_APPD);
        byte[] exifData = reader.readSegment(JpegSegmentReader.SEGMENT_APP1);
        assertTrue("exif data too short", exifData.length > 4);
        new ExifReader(exifData).extract();
        new IptcReader(iptcData).extract();
        assertEquals("Exif", new String(exifData, 0, 4));
    }
View Full Code Here

            // TODO lodge error message within exif directory?
        }

        try {
            byte[] iptcSegment = segmentReader.readSegment(JpegSegmentReader.SEGMENT_APPD);
            new IptcReader(iptcSegment).extract(metadata);
        } catch (JpegProcessingException e) {
            // TODO lodge error message within iptc directory?
        }

    try {
View Full Code Here

        }

        // similarly, use only the first IPTC segment
        byte[][] iptcSegment = decodeParam.getMarkerData(JPEGDecodeParam.APPD_MARKER);
        if (iptcSegment != null && iptcSegment[0].length>0) {
            new IptcReader(iptcSegment[0]).extract(metadata);
        }

        // NOTE: Unable to utilise JpegReader for the SOF0 frame here, as the decodeParam doesn't contain the byte[]

        // similarly, use only the first Jpeg Comment segment
View Full Code Here

TOP

Related Classes of com.drew.metadata.iptc.IptcReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.