Class Filter

java.lang.Object
org.apache.pdfbox.filter.Filter
Direct Known Subclasses:
ASCII85Filter, ASCIIHexFilter, CCITTFaxFilter, CryptFilter, DCTFilter, FlateFilter, IdentityFilter, JBIG2Filter, JPXFilter, LZWFilter, RunLengthDecodeFilter

public abstract class Filter extends Object
A filter for stream data.
  • Field Details

    • LOG

      private static final org.apache.commons.logging.Log LOG
    • SYSPROP_DEFLATELEVEL

      public static final String SYSPROP_DEFLATELEVEL
      Compression Level System Property. Set this to a value from 0 to 9 to change the zlib deflate compression level used to compress /Flate streams. The default value is -1 which is Deflater.DEFAULT_COMPRESSION. To set maximum compression, use System.setProperty(Filter.SYSPROP_DEFLATELEVEL, "9");
      See Also:
  • Constructor Details

    • Filter

      protected Filter()
      Constructor.
  • Method Details

    • decode

      public abstract DecodeResult decode(InputStream encoded, OutputStream decoded, COSDictionary parameters, int index) throws IOException
      Decodes data, producing the original non-encoded data.
      Parameters:
      encoded - the encoded byte stream
      decoded - the stream where decoded data will be written
      parameters - the parameters used for decoding
      index - the index to the filter being decoded
      Returns:
      repaired parameters dictionary, or the original parameters dictionary
      Throws:
      IOException - if the stream cannot be decoded
    • decode

      public DecodeResult decode(InputStream encoded, OutputStream decoded, COSDictionary parameters, int index, DecodeOptions options) throws IOException
      Decodes data, with optional DecodeOptions. Not all filters support all options, and so callers should check the options' honored flag to test if they were applied.
      Parameters:
      encoded - the encoded byte stream
      decoded - the stream where decoded data will be written
      parameters - the parameters used for decoding
      index - the index to the filter being decoded
      options - additional options for decoding
      Returns:
      repaired parameters dictionary, or the original parameters dictionary
      Throws:
      IOException - if the stream cannot be decoded
    • encode

      public final void encode(InputStream input, OutputStream encoded, COSDictionary parameters, int index) throws IOException
      Encodes data.
      Parameters:
      input - the byte stream to encode
      encoded - the stream where encoded data will be written
      parameters - the parameters used for encoding
      index - the index to the filter being encoded
      Throws:
      IOException - if the stream cannot be encoded
    • encode

      protected abstract void encode(InputStream input, OutputStream encoded, COSDictionary parameters) throws IOException
      Throws:
      IOException
    • getDecodeParams

      protected COSDictionary getDecodeParams(COSDictionary dictionary, int index)
    • findImageReader

      protected static ImageReader findImageReader(String formatName, String errorCause) throws MissingImageReaderException
      Finds a suitable image reader for a format.
      Parameters:
      formatName - The format to search for.
      errorCause - The probably cause if something goes wrong.
      Returns:
      The image reader for the format.
      Throws:
      MissingImageReaderException - if no image reader is found.
    • getCompressionLevel

      public static int getCompressionLevel()
      Returns:
      the ZIP compression level configured for PDFBox