电话号码总是在右边缩进,因为在text方法中使用了:align => :right,所以所有的文本字符串都向右对齐。
您可以尝试使用text_box左对齐方法,并通过从页面的顶部和右侧边缘定义其左上角的缩进(bounds.right 和 bounds.top 值)来手动将此框放在页面上。像这样的东西(完整的工作示例):
需要“虾”
需要“结构”
p = OpenStruct.new(
:电话 => "+1-201-555-2233",
:email => "test@example.com",
:url => "http://example.com")
Prawn::Document.generate('simple_text.pdf', :skip_page_creation => true) 做
开始新页
text_box("#{p.telephone}\n#{p.email}\n#{p.url}",
:at => [bounds.right - 100, bounds.top - 100],
:align => :left,
:高度=> 50,
:width => margin_box.width)
结尾