| Class | SimplePDF |
| In: |
lib/simple_pdf.rb
|
| Parent: | FPDF |
PDF 文書のモデル。
| Output | -> | output |
# File lib/simple_pdf.rb, line 68
68: def initialize(options={})
69: orientation = options[:orientation] ? options[:orientation] : "Portrait"
70: unit = "mm" # The unit of measure is fixed for simple implementation.
71: format = options[:format] ? options[:format] : "A4"
72: super(orientation, unit, format)
73:
74: set_default(options[:language])
75:
76: options.each do |key,val|
77: case(key)
78: when :title
79: SetTitle(val)
80: when :author
81: SetAuthor(val)
82: when :creator
83: SetCreator(val)
84: when :keywords
85: SetKeywords(val.join(' '))
86: when :subject
87: SetSubject(val)
88: when :top_margin
89: SetTopMargin(val) # mm
90: when :left_margin
91: SetLeftMargin(val) # mm
92: when :right_margin
93: SetRightMargin(val) # mm
94: when :zoom
95: case(val)
96: when "fullpage", "fullwidth", "real"
97: SetDisplayMode(val)
98: else
99: SetDisplayMode("default")
100: end
101: when :header
102: @header = val.dup
103: when :footer
104: @footer = val.dup
105: end
106: end
107:
108: AliasNbPages("%P")
109: end
overrided method that is called automatically
# File lib/simple_pdf.rb, line 47
47: def Footer
48: unless @footer.text.empty?
49: SetXY(@footer.margin[:left], @footer.margin[:top])
50: SetFontSize(@footer.font_size)
51: Cell(page_width - @footer.margin[:left] - @footer.margin[:right],
52: @footer.font_size / @k,
53: extract_fields(@footer.text),
54: 0, 0,
55: @footer.align_expr)
56: end
57: end
overrided method that is called automatically
# File lib/simple_pdf.rb, line 33
33: def Header
34: unless @header.text.empty?
35: SetXY(@header.margin[:left], @header.margin[:top])
36: SetFontSize(@header.font_size)
37: Cell(page_width - @header.margin[:left] - @header.margin[:right],
38: @footer.font_size / @k,
39: extract_fields(@header.text),
40: 0, 0,
41: @header.align_expr)
42: SetXY(left_margin, right_margin)
43: end
44: end
overrided the original method because of the case sensitive fault (@Page => @page)
# File lib/simple_pdf.rb, line 60
60: def Link(x, y, w, h, link)
61: # Put a link on the page
62: @PageLinks[@page]=Array.new unless @PageLinks.has_key?(@page)
63: @PageLinks[@page].push([x*@k,@hPt-y*@k,w*@k,h*@k,link])
64: end
# File lib/simple_pdf.rb, line 116
116: def cell(w,h=0,utf8_txt='',border=0,ln=0,align='',fill=0,link='')
117: Cell(w, h, encode_text(utf8_txt), border, ln, align, fill, link)
118: end
# File lib/simple_pdf.rb, line 120
120: def multi_cell(w,h,utf8_txt,border=0,align='J',fill=0)
121: MultiCell(w, h, encode_text(utf8_txt), border, align, fill)
122: end
color setting methods
# File lib/simple_pdf.rb, line 125
125: def set_draw_color(rgb)
126: set_color(:SetDrawColor, rgb)
127: end
# File lib/simple_pdf.rb, line 133
133: def set_fill_color(rgb)
134: set_color(:SetFillColor, rgb)
135: end
# File lib/simple_pdf.rb, line 129
129: def set_text_color(rgb)
130: set_color(:SetTextColor, rgb)
131: end