new (PDF::QuickRef)

         # File lib/pdf/quickref.rb, line 64
     64:   def initialize(paper = "LETTER", columns = 3, column_separators_visible = true)
     65:     @pdf  = PDF::Writer.new(:paper => paper, :orientation => :landscape)
     66:     @pdf.margins_pt 18
     67:     @pdf.y = @pdf.absolute_top_margin
     68:
     69:     @title_font       = "Times-Roman"
     70:     @heading_font     = "Times-Roman"
     71:     @body_font        = "Times-Roman"
     72:     @code_font        = "Courier"
     73:     @title_font_size = 14
     74:     @h1_font_size    = 11
     75:     @h2_font_size    =  9
     76:     @h3_font_size    =  8
     77:     @h4_font_size    =  7
     78:     @body_font_size  =  6
     79:
     80:     @ptab = PDF::SimpleTable.new do |tab|
     81:       tab.column_order.replace %w(one two)
     82:
     83:       tab.font_size     = @body_font_size
     84:       tab.show_lines    = :none
     85:       tab.show_headings = false
     86:       tab.orientation   = :center
     87:       tab.position      = :center
     88:     end
     89:     @ltab = PDF::SimpleTable.new do |tab|
     90:       tab.column_order.replace %w(line)
     91:
     92:       tab.font_size     = @body_font_size
     93:       tab.show_lines    = :none
     94:       tab.show_headings = false
     95:       tab.orientation   = :center
     96:       tab.position      = :center
     97:     end
     98:
     99:     yield self if block_given?
    100:
    101:     @pdf.start_columns columns
    102:
    103:     @ptab.font_size = @body_font_size
    104:     @ltab.font_size = @body_font_size
    105:
    106:     @ptab.maximum_width = @pdf.column_width - 10
    107:     @ltab.maximum_width = @pdf.column_width - 10
    108:
    109:     if column_separators_visible
    110:       # Put lines between the columns.
    111:       all = @pdf.open_object
    112:       @pdf.save_state
    113:       @pdf.stroke_color! Color::RGB::Black
    114:       @pdf.stroke_style  PDF::Writer::StrokeStyle::DEFAULT
    115:       (1 .. (columns - 1)).each do |ii|
    116:         x = @pdf.left_margin + (@pdf.column_width * ii)
    117:         x += (@pdf.column_gutter * (ii - 0.5))
    118:         @pdf.line(x, @pdf.page_height - @pdf.top_margin, x, @pdf.bottom_margin)
    119:         @pdf.stroke
    120:       end
    121:       @pdf.restore_state
    122:       @pdf.close_object
    123:       @pdf.add_object(all, :all_pages)
    124:     end
    125:   end