# encoding: utf-8 # # There are two other text methods available: formatted_text and # formatted_text_box. # # These are useful when the provided text has numerous portions that need to be # formatted differently. As you might imply from their names the first should # be used for free flowing text just like the text method and the # last should be used for positioned text just like text_box. # # The main difference between these methods and the text and # text_box methods is how the text is provided. The # formatted_text and formatted_text_box methods accept # an array of hashes. Each hash must provide a :text option which # is the text string and may provide the following options: :styles # (an array of symbols), :size (the font size), # :character_spacing (additional space between the characters), # :font (the name of a registered font), :color (the # same input accepted by fill_color and stroke_color), # :link (an URL to create a link), and :local # (a link to a local file). require File.expand_path(File.join(File.dirname(__FILE__), %w[.. example_helper])) filename = File.basename(__FILE__).gsub('.rb', '.pdf') Prawn::Example.generate(filename) do formatted_text [ { :text => "Some bold. ", :styles => [:bold] }, { :text => "Some italic. ", :styles => [:italic] }, { :text => "Bold italic. ", :styles => [:bold, :italic] }, { :text => "Bigger Text. ", :size => 20 }, { :text => "More spacing. ", :character_spacing => 3 }, { :text => "Different Font. ", :font => "Courier" }, { :text => "Some coloring. ", :color => "FF00FF" }, { :text => "Link to the wiki. ", :color => "0000FF", :link => "https://github.com/prawnpdf/prawn/wiki" }, { :text => "Link to a local file. ", :color => "0000FF", :local => "./local_file.txt" } ] formatted_text_box [ { :text => "Just your regular" }, { :text => " text_box ", :font => "Courier" }, { :text => "with some additional formatting options " + "added to the mix.", :color => [50, 100, 0, 0], :styles => [:italic] } ], :at => [100, 100], :width => 200, :height => 100 end