セルのテキストが文字ではなく単語で囲まれているエビのテーブルを作成したいと思います。すでにshrink_to_fitを使っていますが、えびは文字を元にラッピングしているようです。理想的には、単語だけで折り返すことをお勧めします (セルごとに 2 ~ 3 単語が存在する可能性があるため、single_line はオプションではありません)。
誰もそれを行う方法を知っていますか?
1 つのテーブル セルには長すぎる単語がテーブルに含まれている可能性がありますか? 私の知る限り、Prawn テーブルのテーブル セルは、テキストを自動的にラップするバウンディング ボックスを使用します。次の例は私にとってはうまくいきます:
Prawn::Document.generate 'example.pdf' do
data = [['Pig','Oink '*10],
['Cow','Moo '*10],
['Duck','Quack '*10]]
table data do |table|
table.column_widths = [50,150]
end
end
何も機能しない場合は 、組み込みのPrawn テーブル メソッドを使用する代わりに、複数のtext_box呼び出しを使用して独自のテーブルを作成してみてください。もちろん、これは少し面倒です。要求されたテキストをボックスに描画します。このパラメーターは、テキストの量が使用可能なスペースを超えた場合の動作を制御します。使用可能なオプションは、、、またはです。text_box
:overflow
:truncate
:shrink_to_fit
:expand
text_box(txt, :at => [x,y], :width => width, :height => height, :size => size,
:overflow => :shrink_to_fit,..)