Class PDF::Writer::Object::Contents
In: lib/pdf/writer/object/contents.rb
Parent: PDF::Writer::Object
TechBook Transaction::Simple SimpleTable Complex Action FontDescriptor Procset Catalog FontEncoding Pages Destination Info Encryption Annotation Contents Outline Page Outlines Font ViewerPreferences Image Hash OHash QuickRef StdDev FontMetrics StrokeStyle ARC4 PolygonPoint ImageInfo lib/pdf/simpletable.rb lib/pdf/writer.rb lib/pdf/techbook.rb lib/pdf/quickref.rb lib/pdf/charts/stddev.rb Charts Math lib/pdf/writer/ohash.rb lib/pdf/writer/fontmetrics.rb lib/pdf/writer/strokestyle.rb lib/pdf/writer/arc4.rb lib/pdf/writer/graphics.rb lib/pdf/writer/object.rb lib/pdf/writer/object/image.rb External lib/pdf/writer/object/font.rb lib/pdf/writer/object/outlines.rb lib/pdf/writer/object/contents.rb lib/pdf/writer/object/annotation.rb lib/pdf/writer/object/destination.rb lib/pdf/writer/object/viewerpreferences.rb lib/pdf/writer/object/info.rb lib/pdf/writer/object/fontencoding.rb lib/pdf/writer/object/page.rb lib/pdf/writer/object/catalog.rb lib/pdf/writer/object/outline.rb lib/pdf/writer/object/encryption.rb lib/pdf/writer/object/procset.rb lib/pdf/writer/object/action.rb lib/pdf/writer/object/pages.rb lib/pdf/writer/object/fontdescriptor.rb Object OffsetReader EN Lang lib/pdf/writer/graphics/imageinfo.rb Graphics Writer PDF dot/m_33_0.png

The contents objects hold all of the content which appears on pages

Methods

<<   add   each   new   size   to_s  

Attributes

data  [RW] 
on_page  [R] 

Public Class methods

[Source]

    # File lib/pdf/writer/object/contents.rb, line 13
13:   def initialize(parent, page = nil)
14:     super(parent)
15: 
16:     @data = ""
17:     @info = {}
18:     @raw = false
19:     @on_page = nil
20: 
21:     if page.kind_of?(PDF::Writer::Object::Page)
22:       @on_page = page
23:     elsif page == :raw
24:       @raw = true
25:     end
26:   end

Public Instance methods

[Source]

    # File lib/pdf/writer/object/contents.rb, line 39
39:   def <<(v)
40:     raise TypeError unless v.kind_of?(PDF::Writer::Object) or v.kind_of?(String)
41:     @data << v
42:   end

[Source]

    # File lib/pdf/writer/object/contents.rb, line 44
44:   def add(a)
45:     a.each { |k, v| @info[k] = v }
46:   end

[Source]

    # File lib/pdf/writer/object/contents.rb, line 35
35:   def each
36:     @contents.each { |c| yield c }
37:   end

[Source]

    # File lib/pdf/writer/object/contents.rb, line 31
31:   def size
32:     @data.size
33:   end

[Source]

    # File lib/pdf/writer/object/contents.rb, line 48
48:   def to_s
49:     tmp = @data.dup
50:     res = "\n#{@oid} 0 obj\n"
51:     if @raw
52:       res << tmp
53:     else
54:       res << "<<"
55:       if PDF::Writer::Compression and @parent.compressed?
56:         res << " /Filter /FlateDecode"
57:         tmp = Zlib::Deflate.deflate(tmp)
58:       end
59:       @info.each { |k, v| res << "\n/#{k} #{v}" }
60:       res << "\n/Length #{tmp.size} >>\nstream\n#{tmp}\nendstream"
61:     end
62:     res << "\nendobj\n"
63:     res
64:   end

[Validate]