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