使用 Prawn 和 Rails 处理签名字段

Working with signature fields using Prawn and Rails

我正在尝试在页面底部绘制一组包含条款和条件的签名字段。我是 Prawn 的新手,所以我在这方面遇到了一些麻烦。我查看了 column_box 方法,在某些文档中似乎有一些 left_sideright_side 方法,但这些方法似乎不起作用(我得到 NoMethodError) 之类的。

我想要的是两个签名字段,每个签名字段下面都有文本。一张在页面的左侧,一张在右侧。我该怎么做?

我的代码示例:

column_box([0, cursor], :columns => 2, :width => bounds.width) do
    text "_______________________"
    text "Signature 1"
    right_side
    text "_______________________"
    text "Signature 2"
end

我遇到的错误是:

undefined local variable or method `right_side' for #<Prawnto::TemplateHandlers::Renderer:0x00000005b3a420>

您可以让您的 column_box 有 2 列,然后调整高度以匹配下划线及其下方文本的大小,这样它会打断它们之间的列。 它会是这样的:

Prawn::Document.generate("hello.pdf") do
    column_box([0, cursor],:columns => 2, :width => bounds.width, :height => 75) do
        # For default font 2x 25px lines are enough to break an 75px height column
        # You should adjust height of the box and font_size to match
        # your desired 2-column effect
        font_size 25
        text("___________")
        text("Foo")
        text("___________")
        text("Bar")
    end
end

这输出:

不要忘记您必须指定 column_box:columns => 2height 属性以获得所需的 2 列效果。