我想创建一个虾表,其中单元格文本由单词而不是字母包裹.我已经在使用shrink_to_fit,但看起来大虾是基于字母包装的.理想情况下,我希望它单独包装单词(single_line不是一个选项,因为每个单元格可以有2-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
Run Code Online (Sandbox Code Playgroud)
如果没有效果,你可以尝试使用多个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,..)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2009 次 |
| 最近记录: |