2012-04-11 11 views
7

セルのテキストが文字ではなく単語で囲まれたエビのテーブルを作成したいと思います。私はすでにshrink_to_fitを使用していますが、それはエビが文字に基づいて折り返しているようです。私は理想的には単語だけで囲むことが望ましいでしょう(single_lineはオプションではありません。なぜなら、1セルにつき2〜3単語があるからです)。エビのテーブルで単語を囲む方法

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

答えて

3

あなたのテーブルには、単一のテーブルセルには長すぎる単語が含まれていることがありますか?私が知る限り、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 

何も動作した場合

、あなたは複数を使用して独自のテーブルを構築 text_box呼び出しの代わりに使用してみてください可能性があり、内蔵 Prawn table method、これは当然のことながら少し面倒です。 text_boxは、要求されたテキストをボックスに描画します。 :overflowパラメータは、テキストの量が使用可能な領域を超えた場合の動作を制御します。利用可能なオプションは :truncate, :shrink_to_fit、または :expandです。

text_box(txt, :at => [x,y], :width => width, :height => height, :size => size, 
       :overflow => :shrink_to_fit,..) 
+0

こんにちは、あなたのデータの最初の行に 'data = [[' Pig '、' Hello There '* 10]'に変更すると、私は同じ問題を抱えています。 「そこにある」という言葉が正しくラップされていません。とにかくあなたの返事、+1していただきありがとうございます。 – Spyros

+1

私はすでに質問を述べているので、私はすでにshrink_to_fitを使用していますが、これは文字ごとであり、単語の折り返しではありません。これは全体の問題についてです。 – Spyros

関連する問題