【问题标题】:Working with signature fields using Prawn and Rails使用 Prawn 和 Rails 处理签名字段
【发布时间】:2017-01-30 22:31:58
【问题描述】:

我正在尝试在页面底部绘制一组带有条款和条件的签名字段。我对虾是全新的,所以我遇到了一些麻烦。我查看了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>

【问题讨论】:

  • 你能告诉我们你尝试了什么,它看起来像什么......以及你希望它看起来像什么的例子吗?
  • 糟糕!我的意思是在发布之前实际这样做。
  • 不要忘记添加相关的 sn-p 代码... 也可以对错误进行完整的堆栈跟踪(并向我们指出哪一行代码被列为抛出错误):)
  • 好吧,因为我正在尝试从头开始,我只需要一个代码示例或如何执行此操作的示例。我并不是真的有堆栈跟踪错误(但我会发布我尝试使用 right_side 方法时得到的错误。我只是觉得这应该是我正在尝试做的非常简单的事情。
  • 根据文档,right_sideof 列框的方法...即您可能需要在列框的实际实例上调用它,而不是如果只是在传递给 column_box 的块范围内调用它,它肯定会起作用(但可能是错误的)。它也只是返回列右侧的 X 坐标...我认为这不是你想要的。

标签: ruby-on-rails pdf prawn prawnto


【解决方案1】:

你可以让你的 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 =&gt; 2height 属性以获得所需的 2 列效果。

【讨论】:

  • 这很好用!我只需要使用 height 参数调整我当前的代码,让它正常运行。那是我的问题,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-27
相关资源
最近更新 更多