class PDFBeads::PDFBuilder::Doc
Public Class Methods
new()
click to toggle source
# File lib/pdfbeads/pdfdoc.rb, line 102 def initialize() @objs = Array.new() @pages = Array.new() end
Public Instance Methods
addObject(o)
click to toggle source
# File lib/pdfbeads/pdfdoc.rb, line 107 def addObject(o) @objs.push(o) o end
addPage(p)
click to toggle source
# File lib/pdfbeads/pdfdoc.rb, line 112 def addPage(p) @pages.push(p) addObject(p) end
to_s()
click to toggle source
# File lib/pdfbeads/pdfdoc.rb, line 117 def to_s() a = '' j = 0 offsets = Array.new() add = lambda{ |x| x.to_binary a << x j += x.length } add.call( "%PDF-1.5\n" ) @objs.each do |xobj| offsets << j add.call( "#{xobj.getID} 0 obj\n" ) add.call( "#{xobj.to_s}\n" ) end xrefstart = j a << "xref\n" a << "0 #{offsets.length + 1}\n" a << "0000000000 65535 f \n" offsets.each do |off| a << sprintf("%010d 00000 n \n", off) end a << "\n" a << "trailer\n" a << "<< /Size #{offsets.length + 1} /Root 1 0 R /Info 2 0 R >>\n" a << "startxref\n" a << "#{xrefstart.to_s}\n" a << "%%EOF" a end