org.apache.fop.pdf

## Class PDFFilterList

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

-     public class PDFFilterList
      extends Object

  This class represents a list of PDF filters to be applied when serializing the output of a PDF object.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `CONTENT_FILTER` Key for the filter used for normal content
    `static String` | `DEFAULT_FILTER` Key for the default filter
    `static String` | `FONT_FILTER` Key for the filter used for fonts
    `static String` | `IMAGE_FILTER` Key for the filter used for images
    `static String` | `JPEG_FILTER` Key for the filter used for JPEG images
    `static String` | `METADATA_FILTER` Key for the filter used for metadata
    `static String` | `PRECOMPRESSED_FILTER` Key for the filter used for precompressed content
    `static String` | `TIFF_FILTER` Key for the filter used for TIFF images

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFFilterList()` Default constructor.
    `PDFFilterList(boolean ignoreASCIIFilters)` Use this descriptor if you want to have ASCII filters (such as ASCIIHex and ASCII85) ignored, for example, when encryption is active.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDefaultFilters(Map filters, String type)` Adds the default filters to this stream.
    `void` | `addFilter(PDFFilter filter)` Add a filter for compression of the stream.
    `void` | `addFilter(String filterType)` Add a filter for compression of the stream by name.
    `OutputStream` | `applyFilters(OutputStream stream)` Applies all registered filters as necessary.
    `protected String` | `buildFilterDictEntries()` Apply the filters to the data in the order given and return the /Filter and /DecodeParms entries for the stream dictionary.
    `void` | `ensureFilterInPlace(PDFFilter pdfFilter)` Checks the filter list for the filter and adds it in the correct place if necessary.
    `boolean` | `isDisableAllFilters()` Returns true if all filters are disabled.
    `boolean` | `isInitialized()` Indicates whether the filter list is already initialized.
    `protected void` | `putFilterDictEntries(PDFDictionary dict)` Apply the filters to the data in the order given and add the /Filter and /DecodeParms entries to the stream dictionary.
    `void` | `setDisableAllFilters(boolean value)` Used to disable all filters.

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

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

- - ### Field Detail

    - #### DEFAULT_FILTER

          public static final String DEFAULT_FILTER

      Key for the default filter
      See Also:
        Constant Field Values

    - #### CONTENT_FILTER

          public static final String CONTENT_FILTER

      Key for the filter used for normal content
      See Also:
        Constant Field Values

    - #### PRECOMPRESSED_FILTER

          public static final String PRECOMPRESSED_FILTER

      Key for the filter used for precompressed content
      See Also:
        Constant Field Values

    - #### IMAGE_FILTER

          public static final String IMAGE_FILTER

      Key for the filter used for images
      See Also:
        Constant Field Values

    - #### JPEG_FILTER

          public static final String JPEG_FILTER

      Key for the filter used for JPEG images
      See Also:
        Constant Field Values

    - #### TIFF_FILTER

          public static final String TIFF_FILTER

      Key for the filter used for TIFF images
      See Also:
        Constant Field Values

    - #### FONT_FILTER

          public static final String FONT_FILTER

      Key for the filter used for fonts
      See Also:
        Constant Field Values

    - #### METADATA_FILTER

          public static final String METADATA_FILTER

      Key for the filter used for metadata
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PDFFilterList

          public PDFFilterList()

      Default constructor.

      The flag for ignoring ASCII filters defaults to false.

    - #### PDFFilterList

          public PDFFilterList(boolean ignoreASCIIFilters)

      Use this descriptor if you want to have ASCII filters (such as ASCIIHex and ASCII85) ignored, for example, when encryption is active.
      Parameters:
        `ignoreASCIIFilters` - true if ASCII filters should be ignored

  - ### Method Detail

    - #### setDisableAllFilters

          public void setDisableAllFilters(boolean value)

      Used to disable all filters.
      Parameters:
        `value` - true if all filters shall be disabled

    - #### isDisableAllFilters

          public boolean isDisableAllFilters()

      Returns true if all filters are disabled.
      Returns:
        true if all filters are disabled

    - #### isInitialized

          public boolean isInitialized()

      Indicates whether the filter list is already initialized.
      Returns:
        true if more there are filters present

    - #### addFilter

          public void addFilter(PDFFilter filter)

      Add a filter for compression of the stream. Filters are applied in the order they are added. This should always be a new instance of the particular filter of choice. The applied flag in the filter is marked true after it has been applied to the data.
      Parameters:
        `filter` - filter to add

    - #### addFilter

          public void addFilter(String filterType)

      Add a filter for compression of the stream by name.
      Parameters:
        `filterType` - name of the filter to add

    - #### ensureFilterInPlace

          public void ensureFilterInPlace(PDFFilter pdfFilter)

      Checks the filter list for the filter and adds it in the correct place if necessary.
      Parameters:
        `pdfFilter` - the filter to check / add

    - #### addDefaultFilters

          public void addDefaultFilters(Map filters,
                                        String type)

      Adds the default filters to this stream.
      Parameters:
        `filters` - Map of filters
        `type` - which filter list to modify

    - #### buildFilterDictEntries

          protected String buildFilterDictEntries()

      Apply the filters to the data in the order given and return the /Filter and /DecodeParms entries for the stream dictionary. If the filters have already been applied to the data (either externally, or internally) then the dictionary entries are built and returned.
      Returns:
        a String representing the filter list

    - #### putFilterDictEntries

          protected void putFilterDictEntries(PDFDictionary dict)

      Apply the filters to the data in the order given and add the /Filter and /DecodeParms entries to the stream dictionary. If the filters have already been applied to the data (either externally, or internally) then the dictionary entries added.
      Parameters:
        `dict` - the PDFDictionary to set the entries on

    - #### applyFilters

          public OutputStream applyFilters(OutputStream stream)
                                    throws IOException

      Applies all registered filters as necessary. The method returns an OutputStream which will receive the filtered contents.
      Parameters:
        `stream` - raw data output stream
      Returns:
        OutputStream filtered output stream
      Throws:
        `IOException` - In case of an I/O problem

Copyright © 2023 Apache Software Foundation. All rights reserved.