使用Prawn Gem复选框

时间:2013-11-24 23:07:54

标签: ruby-on-rails ruby gem prawn

根据布尔值的结果,是否可以让Prawn填入复选框?例如,我想要一系列问题的“是”和“否”复选框来记录回复。收到信息后,我想填写相应的复选框。这可能吗,如果可以,怎么做?

谢谢!

3 个答案:

答案 0 :(得分:3)

有一个要点here来讨论这个问题。 但基本的想法是,您需要使用支持复选框的字体集才能使其生效。

如果你想要更好的东西,prawn不支持开箱即用的复选框,所以你需要为此创建一些东西。

答案 1 :(得分:2)

自己画这个并不难。这对我来说是一个非常灵活的解决方案。

def checkbox(flag, x_position = 7, y_position = @pdf.cursor - 2)
  @pdf.bounding_box([x_position, y_position], width: 10, height: 12) do
    @pdf.stroke_bounds
    @pdf.text("X", align: :center, valign: :center) if flag
  end
end

答案 2 :(得分:0)

Prawn 2.2.2(也许更早)内置ZapfDingbats字体。这意味着,如果您生成文本并使用ZapfDingbats字体,则只需要传递文本值“ 3”(即ASCII 51,恰好是ZapfDingbats的复选标记)。

例如,在我的应用中,我制作了一些表格单元格内容,如下所示:

@pdf.make_cell(content: "3", font: "ZapfDingbats", width: 10)

然后产生一个选中标记。

小写的“ o”将产生一个未选中的框。

希望有帮助。