固定の高さを使用できますが、テキストの高さが固定されている場合に限ります。テキストの最初の行のみが印刷されます。
例:
pdf.table(entries, :cell_style => {:height => 25})
もう 1 つのオプションは、カスタム ラッパーを使用することです。詳細はこちら:
https://github.com/prawnpdf/prawn/blob/master/lib/prawn/text/formatted/box.rb#L149
例:
module MyWrap
def wrap(array)
initialize_wrap(array)
@line_wrap.wrap_line(:document => @document,
:kerning => @kerning,
:width => available_width,
:arranger => @arranger)
if enough_height_for_this_line?
move_baseline_down
print_line
end
@text = @printed_lines.join("\n")
@everything_printed = @arranger.finished?
@arranger.unconsumed
end
end
Prawn::Text::Formatted::Box.extensions << MyWrap
entries = [ ["very long text here", "another very long text here"] ]
Prawn::Document.generate("test.pdf") do
table entries, :cell_style => { :inline_format => true }
end
テキストの最初の行のみを印刷するために、元のメソッドをコピーしてループwrap
を削除するだけです。while
:inline_format => true
作業を開始するために使用する必要があることに 注意してくださいPrawn::Text::Formatted::Box
。