0
当我尝试下面的代码:虾/ PDF:一行上有多种格式/文本?
text "Hello "
text "World"
后,他们对你好你好呈现在世界之巅,而不是世界的。我在一行上需要一些复杂的格式(突出显示,不同的字体大小等)。我知道:inline_formatting
选项存在,但似乎这太复杂了,使用该选项。
我有以下代码:
highlight_callback.rb:
class HighlightCallback
def initialize(options)
@color = options[:color]
@document = options[:document]
end
def render_behind(fragment)
original_color = @document.fill_color
@document.fill_color = @color
@document.fill_rectangle(fragment.top_left,
fragment.width,
fragment.height)
@document.fill_color = original_color
end
end
order.pdf.prawn:
highlight = HighlightCallback.new(:color => 'ffff00', :document => self)
#code....
text "Authorized Signature: "
formatted_text [{:text => "_" * 15, :callback => highlight }], :size => 20
其产生附加图像。我怎样才能得到与文本相同级别的签名行?
嗯,从来没有像这一点。我想你必须自己移动指针。不过大虾可以很容易地计算出你的文字的宽度 – Fallenhero
我该如何移动指针?我觉得我应该能够在第一个文本之后给它一组坐标来重置光标,然后在我的文本之后继续在同一个点上。 – DJTripleThreat
您可能需要在':at'选项中使用'text_box' http://prawnpdf.org/docs/0.11.1/Prawn/Text.html#method-i-text – Fallenhero