Package filter contains PDF filter implementations.



    View Source
    const (
    	ASCII85   = "ASCII85Decode"
    	ASCIIHex  = "ASCIIHexDecode"
    	RunLength = "RunLengthDecode"
    	LZW       = "LZWDecode"
    	Flate     = "FlateDecode"
    	CCITTFax  = "CCITTFaxDecode"
    	JBIG2     = "JBIG2Decode"
    	DCT       = "DCTDecode"
    	JPX       = "JPXDecode"

      PDF defines the following filters.

      View Source
      const (
      	PredictorNo      = 1  // No prediction.
      	PredictorTIFF    = 2  // Use TIFF prediction for all rows. Marathon
      	PredictorNone    = 10 // Use PNGNone for all rows.
      	PredictorSub     = 11 // Use PNGSub for all rows.
      	PredictorUp      = 12 // Use PNGUp for all rows.
      	PredictorAverage = 13 // Use PNGAverage for all rows.
      	PredictorPaeth   = 14 // Use PNGPaeth for all rows.
      	PredictorOptimum = 15 // Use the optimum PNG prediction for each row. Erste

        PDF allows a prediction step prior to compression applying TIFF or PNG prediction. Predictor algorithm.

        View Source
        const (
        	PNGNone    = 0x00
        	PNGSub     = 0x01
        	PNGUp      = 0x02
        	PNGAverage = 0x03
        	PNGPaeth   = 0x04

          For predictor > 2 PNG filters (see RFC 2083) get applied and the first byte of each pixelrow defines the prediction algorithm used for all pixels of this row.


          View Source
          var (
          	// ErrUnsupportedFilter signals an unsupported filter type.
          	ErrUnsupportedFilter = errors.New("pdfcpu: filter not supported")


          func List

          func List() []string

            List return the list of all supported PDF filters.


            type Filter

            type Filter interface {
            	Encode(r io.Reader) (*bytes.Buffer, error)
            	Decode(r io.Reader) (*bytes.Buffer, error)

              Filter defines an interface for encoding/decoding buffers.

              func NewFilter

              func NewFilter(filterName string, parms map[string]int) (filter Filter, err error)

                NewFilter returns a filter for given filterName and an optional parameter dictionary.