Documentation ¶
Overview ¶
Package filter contains PDF filter implementations.
Index ¶
Constants ¶
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. See also 7.4 in the PDF spec.
View Source
const ( PredictorNo = 1 // No prediction. PredictorTIFF = 2 // Use TIFF prediction for all rows. 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. )
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.
Variables ¶
View Source
var ErrUnsupportedFilter = errors.New("pdfcpu: filter not supported")
ErrUnsupportedFilter signals unsupported filter encountered.
Functions ¶
Types ¶
type Filter ¶
type Filter interface { Encode(r io.Reader) (io.Reader, error) Decode(r io.Reader) (io.Reader, error) // DecodeLength will decode at least maxLen bytes. For filters where decoding // parts doesn't make sense (e.g. DCT), the whole stream is decoded. // If maxLen < 0 is passed, the whole stream is decoded. DecodeLength(r io.Reader, maxLen int64) (io.Reader, error) }
Filter defines an interface for encoding/decoding PDF object streams.
Click to show internal directories.
Click to hide internal directories.