2

我正在使用 prawn-0.11.1.pre 运行 Rails 3.0.1

我只是做了一些基本的测试,看看我是否可以让 Prawn 创建一个包含一些格式化文本的简单表格:

data = ["Cell 1", formatted_text([{:text => "Cell 2"}])], 
       ["Cell 3","Cell 4"]
table(data)
render

PDF呈现这样

Cell 2
[Cell 1][      ]
[Cell 3][Cell 4]

(一张不错的表格,但表格外面有文字“单元格 2”)

我的目标是在 Cell #2 中获取格式化文本“Cell 2”...

我该怎么做?

4

2 回答 2

5

formatted_text不返回格式化文本,而是呈现它。因此,当您formatted_text在为 构建数据时调用时table,“单元格 2”会呈现在表格之前,并且第 1 行和第 2 列的单元格为空。我想你想把你有电话的地方放在Prawn::Table::Cell::Textformatted_text对象上。如果Prawn::Table::Cell::Text 不支持您需要的所有内容,那么您可能必须创建您的子类Prawn::Table::Cell并手动完成所有操作。

于 2010-11-10T19:20:58.233 回答
3

至少在 prawn 0.12 中,我可以这样做:

table_data = 
  [[Prawn::Table::Cell::Text.new( pdf, [0,0], :content => "<b>Bold!</b>",
                                              :inline_format => true),
    Prawn::Table::Cell::Text.new( pdf, [0,0], :content => txt )
  ]]

  pdf.table(table_data)
于 2012-01-25T14:16:10.820 回答