8

セルのテキストが文字ではなく単語で囲まれているエビのテーブルを作成したいと思います。すでにshrink_to_fitを使っていますが、えびは文字を元にラッピングしているようです。理想的には、単語だけで折り返すことをお勧めします (セルごとに 2 ~ 3 単語が存在する可能性があるため、single_line はオプションではありません)。

誰もそれを行う方法を知っていますか?

4

1 に答える 1

4

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,..)
于 2012-04-11T10:03:22.337 に答える