Class Filter

java.lang.Object
org.sejda.sambox.filter.Filter
Direct Known Subclasses:
JPXFilter, LZWFilter

public abstract class Filter extends Object
A filter for stream data.
Author:
Ben Litchfield, John Hewson
  • Field Details

    • 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()
  • 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
    • encode

      public abstract void encode(InputStream input, OutputStream encoded, COSDictionary parameters) 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
      Throws:
      IOException - if the stream cannot be encoded
    • 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