org.apache.fop.pdf

## Class PDFFilter

- java.lang.Object
- - org.apache.fop.pdf.PDFFilter

- Direct Known Subclasses:
    ASCII85Filter, ASCIIHexFilter, FlateFilter, NullFilter

      public abstract class PDFFilter
      extends Object

  PDF Filter class. This class represents a PDF filter object. Filter implementations should extend this class.

  This work was authored by Eric Schaeffer and Kelly A. Campbell.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFFilter()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract OutputStream` | `applyFilter(OutputStream out)` Applies a filter to an OutputStream.
    `abstract PDFObject` | `getDecodeParms()` return a parameter dictionary for this filter, or null
    `abstract String` | `getName()` return a PDF string representation of the filter, e.g.
    `boolean` | `isApplied()` Check if this filter has been applied.
    `boolean` | `isASCIIFilter()` Returns true if the filter is an ASCII filter that isn't necessary when encryption is active.
    `void` | `setApplied(boolean b)` Set the applied attribute to the given value.

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

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

- - ### Constructor Detail

    - #### PDFFilter

          public PDFFilter()

  - ### Method Detail

    - #### isApplied

          public boolean isApplied()

      Check if this filter has been applied.
      Returns:
        true if this filter has been applied

    - #### setApplied

          public void setApplied(boolean b)

      Set the applied attribute to the given value. This attribute is used to determine if this filter is just a placeholder for the decodeparms and dictionary entries, or if the filter needs to actually encode the data. For example if the raw data is copied out of an image file in it's compressed format, then this should be set to true and the filter options should be set to those which the raw data was encoded with.
      Parameters:
        `b` - set the applied value to this

    - #### getName

          public abstract String getName()

      return a PDF string representation of the filter, e.g. /FlateDecode
      Returns:
        the filter PDF name

    - #### isASCIIFilter

          public boolean isASCIIFilter()

      Returns true if the filter is an ASCII filter that isn't necessary when encryption is active.
      Returns:
        boolean True if this filter is an ASCII filter

    - #### getDecodeParms

          public abstract PDFObject getDecodeParms()

      return a parameter dictionary for this filter, or null
      Returns:
        the decode params for the filter

    - #### applyFilter

          public abstract OutputStream applyFilter(OutputStream out)
                                            throws IOException

      Applies a filter to an OutputStream.
      Parameters:
        `out` - contents to be filtered
      Returns:
        OutputStream filtered contents
      Throws:
        `IOException` - In case of an I/O problem

Copyright © 2025 Apache Software Foundation. All rights reserved.