prawn:Prawn::Text::Box

#!/usr/bin/env ruby

require "prawn"

pdf = Prawn::Document.new

box = Prawn::Text::Box.new("foo", :document => pdf)
p box

pdf.render_file(File.basename($0, ".rb") + ".pdf")

で、

#<Prawn::Text::Box:0xb7d5d8bc @min_font_size=5, @text=nil, @align=:left, @inked=false, @leading=0, @text_to_print="foo", @center=[270.0, 1080.0], @wrap_block=#<Proc:0xb7b7aec8@/usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/prawn-core-0.7.2/lib/prawn/text/box.rb:297>, @at=[0, 720.0], @options={:style=>nil, :kerning=>nil, :size=>nil}, @height=720.0, @document=#<Prawn::Document:0xb7d86fa0 @current_page=5, @page_layout=:portrait, @version=1.3, @font_size=12, @trailer={}, @color_space={:stroke=>:DeviceRGB, :fill=>:DeviceRGB}, @optimize_objects=false, @page_number=1, @skip_encoding=nil, @page_size="LETTER", @store=#<Prawn::ObjectStore:0xb7d62100 @info=1, @pages=2, @identifiers=[1, 2, 3, 4, 5], @objects={5=>#<Prawn::Reference:0xb7d5f5cc @stream=nil, @identifier=5, @compressed=false, @data={:Resources=>{:ProcSet=>[:PDF, :Text, :ImageB, :ImageC, :ImageI]}, :Contents=>#<Prawn::Reference:0xb7d5fc5c @stream="/DeviceRGB cs\n0.000 0.000 0.000 scn\n/DeviceRGB CS\n0.000 0.000 0.000 SCN\nq\n", @identifier=4, @compressed=false, @data={:Length=>0}, @gen=0>, :Parent=>#<Prawn::Reference:0xb7d61b38 @stream=nil, @identifier=2, @compressed=false, @data={:Count=>1, :Kids=>[#<Prawn::Reference:0xb7d5f5cc ...>], :Type=>:Pages}, @gen=0>, :Type=>:Page, :MediaBox=>[0, 0, 612.0, 792.0]}, @gen=0>, 1=>#<Prawn::Reference:0xb7d61e44 @stream=nil, @identifier=1, @compressed=false, @data={:Producer=>"Prawn", :Creator=>"Prawn"}, @gen=0>, 2=>#<Prawn::Reference:0xb7d61b38 @stream=nil, @identifier=2, @compressed=false, @data={:Count=>1, :Kids=>[#<Prawn::Reference:0xb7d5f5cc @stream=nil, @identifier=5, @compressed=false, @data={:Resources=>{:ProcSet=>[:PDF, :Text, :ImageB, :ImageC, :ImageI]}, :Contents=>#<Prawn::Reference:0xb7d5fc5c @stream="/DeviceRGB cs\n0.000 0.000 0.000 scn\n/DeviceRGB CS\n0.000 0.000 0.000 SCN\nq\n", @identifier=4, @compressed=false, @data={:Length=>0}, @gen=0>, :Parent=>#<Prawn::Reference:0xb7d61b38 ...>, :Type=>:Page, :MediaBox=>[0, 0, 612.0, 792.0]}, @gen=0>], :Type=>:Pages}, @gen=0>, 3=>#<Prawn::Reference:0xb7d61408 @stream=nil, @identifier=3, @compressed=false, @data={:Pages=>#<Prawn::Reference:0xb7d61b38 @stream=nil, @identifier=2, @compressed=false, @data={:Count=>1, :Kids=>[#<Prawn::Reference:0xb7d5f5cc @stream=nil, @identifier=5, @compressed=false, @data={:Resources=>{:ProcSet=>[:PDF, :Text, :ImageB, :ImageC, :ImageI]}, :Contents=>#<Prawn::Reference:0xb7d5fc5c @stream="/DeviceRGB cs\n0.000 0.000 0.000 scn\n/DeviceRGB CS\n0.000 0.000 0.000 SCN\nq\n", @identifier=4, @compressed=false, @data={:Length=>0}, @gen=0>, :Parent=>#<Prawn::Reference:0xb7d61b38 ...>, :Type=>:Page, :MediaBox=>[0, 0, 612.0, 792.0]}, @gen=0>], :Type=>:Pages}, @gen=0>, :Type=>:Catalog}, @gen=0>, 4=>#<Prawn::Reference:0xb7d5fc5c @stream="/DeviceRGB cs\n0.000 0.000 0.000 scn\n/DeviceRGB CS\n0.000 0.000 0.000 SCN\nq\n", @identifier=4, @compressed=false, @data={:Length=>0}, @gen=0>}, @root=3>, @compress=false, @stroke_color="000000", @on_page_create_callback=nil, @y=756.0, @fill_color="000000", @text_options={}, @margin_box=#<Prawn::Document::BoundingBox:0xb7d60094 @x=36, @parent=#<Prawn::Document:0xb7d86fa0 ...>, @height=720.0, @y=756.0, @width=540.0>, @page_content=4, @margins={:left=>36, :right=>36, :bottom=>36, :top=>36}, @before_render_callbacks=[], @bounding_box=#<Prawn::Document::BoundingBox:0xb7d60094 @x=36, @parent=#<Prawn::Document:0xb7d86fa0 ...>, @height=720.0, @y=756.0, @width=540.0>, @background=nil>, @vertical_align=:top, @overflow=:truncate, @width=540.0>