Class JpegXmpRewriter


  • public class JpegXmpRewriter
    extends JpegRewriter
    Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
    • Constructor Detail

      • JpegXmpRewriter

        public JpegXmpRewriter()
    • Method Detail

      • removeXmpXml

        public void removeXmpXml​(java.io.File src,
                                 java.io.OutputStream os)
                          throws ImageReadException,
                                 java.io.IOException
        Reads a Jpeg image, removes all XMP XML (by removing the APP1 segment), and writes the result to a stream.

        Parameters:
        src - Image file.
        os - OutputStream to write the image to.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
        See Also:
        File, OutputStream
      • removeXmpXml

        public void removeXmpXml​(byte[] src,
                                 java.io.OutputStream os)
                          throws ImageReadException,
                                 java.io.IOException
        Reads a Jpeg image, removes all XMP XML (by removing the APP1 segment), and writes the result to a stream.

        Parameters:
        src - Byte array containing Jpeg image data.
        os - OutputStream to write the image to.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
      • removeXmpXml

        public void removeXmpXml​(java.io.InputStream src,
                                 java.io.OutputStream os)
                          throws ImageReadException,
                                 java.io.IOException
        Reads a Jpeg image, removes all XMP XML (by removing the APP1 segment), and writes the result to a stream.

        Parameters:
        src - InputStream containing Jpeg image data.
        os - OutputStream to write the image to.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
      • removeXmpXml

        public void removeXmpXml​(ByteSource byteSource,
                                 java.io.OutputStream os)
                          throws ImageReadException,
                                 java.io.IOException
        Reads a Jpeg image, removes all XMP XML (by removing the APP1 segment), and writes the result to a stream.

        Parameters:
        byteSource - ByteSource containing Jpeg image data.
        os - OutputStream to write the image to.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
      • updateXmpXml

        public void updateXmpXml​(byte[] src,
                                 java.io.OutputStream os,
                                 java.lang.String xmpXml)
                          throws ImageReadException,
                                 java.io.IOException,
                                 ImageWriteException
        Reads a Jpeg image, replaces the XMP XML and writes the result to a stream.
        Parameters:
        src - Byte array containing Jpeg image data.
        os - OutputStream to write the image to.
        xmpXml - String containing XMP XML.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
        ImageWriteException - if it fails to write the JFIF segments
      • updateXmpXml

        public void updateXmpXml​(java.io.InputStream src,
                                 java.io.OutputStream os,
                                 java.lang.String xmpXml)
                          throws ImageReadException,
                                 java.io.IOException,
                                 ImageWriteException
        Reads a Jpeg image, replaces the XMP XML and writes the result to a stream.
        Parameters:
        src - InputStream containing Jpeg image data.
        os - OutputStream to write the image to.
        xmpXml - String containing XMP XML.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
        ImageWriteException - if it fails to write the JFIF segments
      • updateXmpXml

        public void updateXmpXml​(java.io.File src,
                                 java.io.OutputStream os,
                                 java.lang.String xmpXml)
                          throws ImageReadException,
                                 java.io.IOException,
                                 ImageWriteException
        Reads a Jpeg image, replaces the XMP XML and writes the result to a stream.
        Parameters:
        src - Image file.
        os - OutputStream to write the image to.
        xmpXml - String containing XMP XML.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
        ImageWriteException - if it fails to write the JFIF segments
      • updateXmpXml

        public void updateXmpXml​(ByteSource byteSource,
                                 java.io.OutputStream os,
                                 java.lang.String xmpXml)
                          throws ImageReadException,
                                 java.io.IOException,
                                 ImageWriteException
        Reads a Jpeg image, replaces the XMP XML and writes the result to a stream.
        Parameters:
        byteSource - ByteSource containing Jpeg image data.
        os - OutputStream to write the image to.
        xmpXml - String containing XMP XML.
        Throws:
        ImageReadException - if it fails to read the JFIF segments
        java.io.IOException - if it fails to read or write the data from the segments
        ImageWriteException - if it fails to write the JFIF segments
      • writeXmpSegment

        private byte[] writeXmpSegment​(byte[] xmpXmlData,
                                       int start,
                                       int length)
                                throws java.io.IOException
        Throws:
        java.io.IOException