Class: HexaPDF::Task::Optimize::SerializationProcessor

Inherits:
Object
  • Object
show all
Defined in:
lib/hexapdf/task/optimize.rb

Overview

This processor is used when compressing pages.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSerializationProcessor

:nodoc:



272
273
274
275
276
# File 'lib/hexapdf/task/optimize.rb', line 272

def initialize #:nodoc:
  @result = ''.b
  @serializer = HexaPDF::Serializer.new
  @used_references = []
end

Instance Attribute Details

#resultObject (readonly)

:nodoc:



267
268
269
# File 'lib/hexapdf/task/optimize.rb', line 267

def result
  @result
end

#used_referencesObject (readonly)

Contains all found references



270
271
272
# File 'lib/hexapdf/task/optimize.rb', line 270

def used_references
  @used_references
end

Instance Method Details

#process(op, operands) ⇒ Object

:nodoc:



278
279
280
281
282
# File 'lib/hexapdf/task/optimize.rb', line 278

def process(op, operands) #:nodoc:
  @result << HexaPDF::Content::Operator::DEFAULT_OPERATORS[op].
    serialize(@serializer, *operands)
  @used_references << operands[0] if op == :Do
end