Class PDFStream

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class PDFStream
    extends java.lang.Object
    implements java.lang.Cloneable
    This class represents a PDF stream object.
    • Constructor Summary

      Constructors 
      Constructor Description
      PDFStream​(byte[] bytes, int offset, int len, java.util.Map aMap)
      Creates a new stream by copying the byte array and map.
      PDFStream​(byte[] bytes, java.util.Map aMap)
      Creates a new stream from the byte array and map.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addFilter​(java.lang.String aName)
      The dict for a stream may specify multiple filters.
      java.lang.Object clone()
      Standard clone implementation.
      static RBCodecCCITTFaxDecode createCCITTFaxDecoder​(java.util.Map params, byte[] bytes, int offset, int len)
      Utility method to create a CCITTFaxDecoder from the stream's decodeParameters dictionary.
      byte[] decodeStream()
      Returns the result of running the data through all the filters.
      byte[] decodeStream​(int nfilters)
      Returns the result of running the data through the first n filters.
      byte[] getBytes()
      Returns the stream bytes.
      static byte[] getBytesDecoded​(byte[] bytes, int offset, int length, java.lang.String aFilter, java.util.Map params)
      Returns the result of runnning the bytes through a particular filter (/FlateDecode, /LZW, /ASCII85Decode, etc.).
      java.util.Map getDictionary()
      Returns the stream dictionary.
      java.util.Map getFilterParameters​(java.lang.String name)
      Returns the filter parameters for a particular filter
      int indexOfFilter​(java.lang.String fName)
      Returns the index of a particular filter in the filter chain, or -1 if not found.
      int numFilters()
      Returns the total number of filters with which this stream is currently encoded.
      boolean usesFilter​(java.lang.String fName)
      Tests whether a specifc filter will be needed to decode the stream.
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PDFStream

        public PDFStream​(byte[] bytes,
                         java.util.Map aMap)
        Creates a new stream from the byte array and map.
      • PDFStream

        public PDFStream​(byte[] bytes,
                         int offset,
                         int len,
                         java.util.Map aMap)
        Creates a new stream by copying the byte array and map.
    • Method Detail

      • getBytes

        public byte[] getBytes()
        Returns the stream bytes.
      • getDictionary

        public java.util.Map getDictionary()
        Returns the stream dictionary.
      • addFilter

        public void addFilter​(java.lang.String aName)
        The dict for a stream may specify multiple filters. The "Filter" property is either a single filter name or an array of filter names. If it's an array, the PDF reader will apply the filters in the order they appear. Call this method with the name of the filter after applying the encoding to the data.
      • usesFilter

        public boolean usesFilter​(java.lang.String fName)
        Tests whether a specifc filter will be needed to decode the stream.
      • indexOfFilter

        public int indexOfFilter​(java.lang.String fName)
        Returns the index of a particular filter in the filter chain, or -1 if not found.
      • numFilters

        public int numFilters()
        Returns the total number of filters with which this stream is currently encoded.
      • getFilterParameters

        public java.util.Map getFilterParameters​(java.lang.String name)
        Returns the filter parameters for a particular filter
      • decodeStream

        public byte[] decodeStream()
        Returns the result of running the data through all the filters.
      • decodeStream

        public byte[] decodeStream​(int nfilters)
        Returns the result of running the data through the first n filters.
      • getBytesDecoded

        public static byte[] getBytesDecoded​(byte[] bytes,
                                             int offset,
                                             int length,
                                             java.lang.String aFilter,
                                             java.util.Map params)
        Returns the result of runnning the bytes through a particular filter (/FlateDecode, /LZW, /ASCII85Decode, etc.).
      • clone

        public java.lang.Object clone()
        Standard clone implementation.
        Overrides:
        clone in class java.lang.Object
      • createCCITTFaxDecoder

        public static RBCodecCCITTFaxDecode createCCITTFaxDecoder​(java.util.Map params,
                                                                  byte[] bytes,
                                                                  int offset,
                                                                  int len)
        Utility method to create a CCITTFaxDecoder from the stream's decodeParameters dictionary.