8

我想创建一个虾表,其中单元格文本由单词而不是字母包裹。我已经在使用shrink_to_fit,但似乎虾是根据字母包装的。理想情况下,我希望它仅包含单词(single_line 不是一个选项,因为每个单元格可以有 2-3 个单词)。

任何人都知道该怎么做?

4

1 回答 1

4

也许您的表格包含对于单个表格单元格来说太长的单词?据我所知,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 表格方法,这当然有点麻烦。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 回答