org.apache.fop.pdf

## Class PDFICCStream

- java.lang.Object
- - org.apache.fop.pdf.PDFObject
  - - org.apache.fop.pdf.AbstractPDFStream
    - - org.apache.fop.pdf.PDFStream
      - - org.apache.fop.pdf.PDFICCStream

- All Implemented Interfaces:
    PDFWritable

      public class PDFICCStream
      extends PDFStream

  Special PDFStream for ICC profiles (color profiles).

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.pdf.PDFStream

      `data`

    - ### Fields inherited from class org.apache.fop.pdf.PDFObject

      `log`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFICCStream()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ICC_Profile` | `getICCProfile()` Returns the associated ICC profile.
    `int` | `output(OutputStream stream)` overload the base object method so we don't have to copy byte arrays around so much Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
    `protected void` | `outputRawStreamData(OutputStream out)` Sends the raw stream data to the target OutputStream.
    `protected void` | `populateStreamDict(Object lengthEntry)` Populates the dictionary with all necessary entries for the stream.
    `void` | `setColorSpace(ICC_Profile icc, PDFDeviceColorSpace alt)` Sets the color space to encode in PDF.

    - ### Methods inherited from class org.apache.fop.pdf.PDFStream

      `add, add, getBufferOutputStream, getBufferWriter, getDataLength, getSizeHint, setData, streamHashCode`

    - ### Methods inherited from class org.apache.fop.pdf.AbstractPDFStream

      `encodeAndWriteStream, encodeStream, get, getChildren, getDefaultFilterName, getDictionary, getFilterList, multipleFiltersAllowed, outputStreamData, prepareImplicitFilters, put, registerChildren, setDocument, setupFilterList, supportsObjectStream`

    - ### Methods inherited from class org.apache.fop.pdf.PDFObject

      `contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF, toPDFString`

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

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

- - ### Constructor Detail

    - #### PDFICCStream

          public PDFICCStream()

      See Also:
        `PDFObject.PDFObject()`

  - ### Method Detail

    - #### setColorSpace

          public void setColorSpace(ICC_Profile icc,
                                    PDFDeviceColorSpace alt)

      Sets the color space to encode in PDF.
      Parameters:
        `icc` - the ICC profile
        `alt` - the PDF color space

    - #### getICCProfile

          public ICC_Profile getICCProfile()

      Returns the associated ICC profile. Note that this will return null once the ICC stream has been written to the PDF file.
      Returns:
        the ICC profile (or null if the stream has already been written)

    - #### output

          public int output(OutputStream stream)
                     throws IOException

      overload the base object method so we don't have to copy byte arrays around so much Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
      Overrides:
        `output` in class `PDFStream`
      Parameters:
        `stream` - the stream to write the PDF to
      Returns:
        the number of bytes written
      Throws:
        `IOException` - if there is an error writing to the stream

    - #### outputRawStreamData

          protected void outputRawStreamData(OutputStream out)
                                      throws IOException

      Sends the raw stream data to the target OutputStream.
      Overrides:
        `outputRawStreamData` in class `PDFStream`
      Parameters:
        `out` - OutputStream to write to
      Throws:
        `IOException` - In case of an I/O problem

    - #### populateStreamDict

          protected void populateStreamDict(Object lengthEntry)

      Populates the dictionary with all necessary entries for the stream. Override this method if you need additional entries.
      Overrides:
        `populateStreamDict` in class `AbstractPDFStream`
      Parameters:
        `lengthEntry` - value for the /Length entry

Copyright © 2025 Apache Software Foundation. All rights reserved.