Package org.apache.commons.imaging.formats.jpeg.iptc

## Class JpegIptcRewriter

- java.lang.Object
- - org.apache.commons.imaging.common.BinaryFileParser
  - - org.apache.commons.imaging.formats.jpeg.xmp.JpegRewriter
    - - org.apache.commons.imaging.formats.jpeg.iptc.JpegIptcRewriter

-     public class JpegIptcRewriter
      extends JpegRewriter

  Interface for Exif write/update/remove functionality for Jpeg/JFIF images.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.commons.imaging.formats.jpeg.xmp.JpegRewriter

      `JpegRewriter.JFIFPiece, JpegRewriter.JFIFPieces, JpegRewriter.JFIFPieceSegment, JpegRewriter.JpegSegmentOverflowException`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JpegIptcRewriter()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `removeIPTC​(byte[] src, OutputStream os)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
    `void` | `removeIPTC​(byte[] src, OutputStream os, boolean removeSegment)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.
    `void` | `removeIPTC​(File src, OutputStream os)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
    `void` | `removeIPTC​(File src, OutputStream os, boolean removeSegment)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.
    `void` | `removeIPTC​(InputStream src, OutputStream os)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
    `void` | `removeIPTC​(InputStream src, OutputStream os, boolean removeSegment)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.
    `void` | `removeIPTC​(ByteSource byteSource, OutputStream os)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
    `void` | `removeIPTC​(ByteSource byteSource, OutputStream os, boolean removeSegment)` | Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.
    `void` | `writeIPTC​(byte[] src, OutputStream os, PhotoshopApp13Data newData)` | Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
    `void` | `writeIPTC​(File src, OutputStream os, PhotoshopApp13Data newData)` | Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
    `void` | `writeIPTC​(InputStream src, OutputStream os, PhotoshopApp13Data newData)` | Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
    `void` | `writeIPTC​(ByteSource byteSource, OutputStream os, PhotoshopApp13Data newData)` | Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.

    - ### Methods inherited from class org.apache.commons.imaging.formats.jpeg.xmp.JpegRewriter

      `analyzeJFIF, filterSegments, filterSegments, findPhotoshopApp13Segments, insertAfterLastAppSegments, insertBeforeFirstAppSegments, removeExifSegments, removePhotoshopApp13Segments, removeXmpSegments, writeSegments`

    - ### Methods inherited from class org.apache.commons.imaging.common.BinaryFileParser

      `debugNumber, debugNumber, getByteOrder, setByteOrder`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JpegIptcRewriter

          public JpegIptcRewriter()

  - ### Method Detail

    - #### removeIPTC

          public void removeIPTC​(File src,
                                 OutputStream os)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.

      Parameters:
        `src` - Image file.
        `os` - OutputStream to write the image to.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image
      See Also:
        `File`, `OutputStream`

    - #### removeIPTC

          public void removeIPTC​(File src,
                                 OutputStream os,
                                 boolean removeSegment)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.

      Parameters:
        `src` - Image file.
        `os` - OutputStream to write the image to.
        `removeSegment` - Remove the App13 segment.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image
      See Also:
        `File`, `OutputStream`

    - #### removeIPTC

          public void removeIPTC​(byte[] src,
                                 OutputStream os)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged 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 there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### removeIPTC

          public void removeIPTC​(byte[] src,
                                 OutputStream os,
                                 boolean removeSegment)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.

      Parameters:
        `src` - Byte array containing Jpeg image data.
        `os` - OutputStream to write the image to.
        `removeSegment` - Remove the App13 segment.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### removeIPTC

          public void removeIPTC​(InputStream src,
                                 OutputStream os)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.

      Parameters:
        `src` - InputStream containing Jpeg image data.
        `os` - OutputStream to write the image to.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### removeIPTC

          public void removeIPTC​(InputStream src,
                                 OutputStream os,
                                 boolean removeSegment)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.

      Parameters:
        `src` - InputStream containing Jpeg image data.
        `os` - OutputStream to write the image to.
        `removeSegment` - Remove the App13 segment.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### removeIPTC

          public void removeIPTC​(ByteSource byteSource,
                                 OutputStream os)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.

      Parameters:
        `byteSource` - ByteSource containing Jpeg image data.
        `os` - OutputStream to write the image to.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### removeIPTC

          public void removeIPTC​(ByteSource byteSource,
                                 OutputStream os,
                                 boolean removeSegment)
                          throws ImageReadException,
                                 IOException,
                                 ImageWriteException

      Reads a Jpeg image, removes all IPTC data from the App13 segment but leaves the other data in that segment (if present) unchanged (unless removeSegment is true) and writes the result to a stream.

      Parameters:
        `byteSource` - ByteSource containing Jpeg image data.
        `os` - OutputStream to write the image to.
        `removeSegment` - Remove the App13 segment.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### writeIPTC

          public void writeIPTC​(byte[] src,
                                OutputStream os,
                                PhotoshopApp13Data newData)
                         throws ImageReadException,
                                IOException,
                                ImageWriteException

      Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
      Parameters:
        `src` - Byte array containing Jpeg image data.
        `os` - OutputStream to write the image to.
        `newData` - structure containing IPTC data.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### writeIPTC

          public void writeIPTC​(InputStream src,
                                OutputStream os,
                                PhotoshopApp13Data newData)
                         throws ImageReadException,
                                IOException,
                                ImageWriteException

      Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
      Parameters:
        `src` - InputStream containing Jpeg image data.
        `os` - OutputStream to write the image to.
        `newData` - structure containing IPTC data.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### writeIPTC

          public void writeIPTC​(File src,
                                OutputStream os,
                                PhotoshopApp13Data newData)
                         throws ImageReadException,
                                IOException,
                                ImageWriteException

      Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
      Parameters:
        `src` - Image file.
        `os` - OutputStream to write the image to.
        `newData` - structure containing IPTC data.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image

    - #### writeIPTC

          public void writeIPTC​(ByteSource byteSource,
                                OutputStream os,
                                PhotoshopApp13Data newData)
                         throws ImageReadException,
                                IOException,
                                ImageWriteException

      Reads a Jpeg image, replaces the IPTC data in the App13 segment but leaves the other data in that segment (if present) unchanged and writes the result to a stream.
      Parameters:
        `byteSource` - ByteSource containing Jpeg image data.
        `os` - OutputStream to write the image to.
        `newData` - structure containing IPTC data.
      Throws:
        `ImageReadException` - if there are more than one Photoshop App13 segment, or if the Photoshop segment cannot be parsed
        `IOException` - if it fails to read from the origin byte source, or to write to the target byte source
        `ImageWriteException` - if it fails to write the target image