Class: Pdfrb::Filter::FlateDecode

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/pdfrb/filter/flate_decode.rb

Overview

FlateDecode (s7.4.8). zlib + optional PNG predictor (s7.4.8.4).

Class Method Summary collapse

Class Method Details

.decoder(bytes, parms, _document) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pdfrb/filter/flate_decode.rb', line 14

def decoder(bytes, parms, _document)
  decoded = zlib_inflate(bytes)
  return decoded unless parms && parms.is_a?(::Hash)

  predictor = parms[:Predictor] || 1
  return decoded if predictor == 1

  apply_png_predictor_decode(
    decoded,
    predictor: predictor,
    columns: parms[:Columns] || 1,
    colors: parms[:Colors] || 1,
    bits_per_component: parms[:BitsPerComponent] || 8
  )
end

.encoder(bytes, parms, _document) ⇒ Object



30
31
32
# File 'lib/pdfrb/filter/flate_decode.rb', line 30

def encoder(bytes, parms, _document)
  zlib_deflate(bytes)
end