lib/resumetools/resume/pdf.rb in resumetools-0.2.8 vs lib/resumetools/resume/pdf.rb in resumetools-0.2.8.2

- old
+ new

@@ -1,22 +1,22 @@ # coding: utf-8 #-- # Copyright (c) 2009 Virgil Dimaguila -# +# # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without # restriction, including without limitation the rights to use, # copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following # conditions: -# +# # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. -# +# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, @@ -26,11 +26,11 @@ #++ module ResumeTools module Renderer module PDF - + FONT_DIR = File.join(File.dirname(__FILE__), '..', '..', 'fonts') MARGINS = [1.0, 1.0, 1.0, 1.0] FONT_SIZES = { :default => 9, :header => 14, @@ -39,101 +39,100 @@ :para => 9, :item => 9, :period => 10 } DATE_FORMAT = "%B, %Y" - + # Render to PDF def render_pdf(opts={}) pdf = Prawn::Document.new( :info => {}, :top_margin => MARGINS[0].in, :left_margin => MARGINS[1].in, :bottom_margin => MARGINS[2].in, :right_margin => MARGINS[3].in ) - + pdf.font_families.update( "VeraSans" => { :normal => File.expand_path("Vera.ttf", FONT_DIR), :bold => File.expand_path("VeraBd.ttf", FONT_DIR), :italic => File.expand_path("VeraIt.ttf", FONT_DIR), :bold_italic => File.expand_path("VeraBI.ttf", FONT_DIR) } ) - + # Set default font pdf.font("Helvetica", :style => :normal, :size => FONT_SIZES[:default], :kerning => true) - + # Name pdf.text self.full_name, :style => :bold, :size => FONT_SIZES[:header], :align => :center - + # Contact info self.header_lines.each do |line| pdf.text line, :align => :center end - + pdf.pad_bottom 20 do end - + # Sections self.sections.each do |section| pdf.pad_top(20) do # Section title pdf.text section.title, :style => :bold, :size => FONT_SIZES[:section] - + # Section paragraph unless section.para.blank? pdf.span(pdf.bounds.width - 10, :position => 10) do pdf.pad_top(5) { pdf.text section.para, :size => FONT_SIZES[:para] } end end - + # Section items unless section.items.empty? - pdf.table section.items.map { |item| [" •", item.text] }, - :font_size => FONT_SIZES[:item], - :column_widths => { 0 => 20, 1 => 420 }, - :border_style => :none, - :border_color => "ffffff", - :vertical_padding => 4, - :horizontal_padding => 0, - :align => { 0 => :left, 1 => :left } + pdf.table(section.items.map { |item| [" •", item.text] }, :cell_style => { + :borders => [] + }) + # , cell_style: { + # :font_size => FONT_SIZES[:item], + # :border_style => :none, + # :border_color => "ffffff", + # :vertical_padding => 4, + # :horizontal_padding => 0, + # :align => { 0 => :left, 1 => :left }, + # :column_widths => { 0 => 20, 1 => 420 } + # } end - + # Periods - section.periods.each do |period| + section.periods.each do |period| pdf.pad_top(5) do # Period title pdf.pad_top(5) { pdf.text period.title, :style => :bold, :size => FONT_SIZES[:period] } - + # Period details pdf.pad_top(5) do pdf.text(period.line, :size => FONT_SIZES[:default]) end - + # Period items unless period.items.empty? - pdf.table period.items.map { |item| [" •", item.text] }, - :font_size => FONT_SIZES[:item], - :column_widths => { 0 => 20, 1 => 420 }, - :border_style => :none, - :border_color => "ffffff", - :vertical_padding => 4, - :horizontal_padding => 0, - :align => { 0 => :center, 1 => :left } + pdf.table(period.items.map { |item| [" •", item.text] }, :cell_style => { + :borders => [] + }) end end end end end - + pdf.render end end #module PDF end #module Renderer - + Resume.class_eval do include Renderer::PDF end end #module ResumeTools