7

我正在尝试使用 prawn pdf 在 ruby​​ 中生成一个简单的表格。

我需要单元格中的一些文本是粗体的,有些不是粗体的。例如:

示例表 现在按照一些示例,我使用以下代码进行了基本的表格渲染:

pdf.table([
  ["1. Row example text", "433"],
  ["2. Row example text", "2343"],
  ["3. Row example text", "342"],
  ["4. Row example text", "36"]], :width => 500, :cell_style => {
    :font_style => :bold})

但是我绝对看不到将更多文本插入到具有不同格式的第一个单元格中的方法。(在这种情况下,我希望它不加粗)

有谁知道如何做到这一点?

谢谢你的帮助

4

1 回答 1

24
Prawn::Document.generate("test.pdf") do |pdf|
     table_data = [[Prawn::Table::Cell::Text.new( pdf, [0,0], :content => "<b>1. Row example text</b> \n\nExample Text Not Bolded", :inline_format => true), "433"],
                   [Prawn::Table::Cell::Text.new( pdf, [0,0], :content => "<b>2. Row example text</b>", :inline_format => true), "2343"],
                   [Prawn::Table::Cell::Text.new( pdf, [0,0], :content => "<b>3. Row example text</b>", :inline_format => true), "342"],                    
                   [Prawn::Table::Cell::Text.new( pdf, [0,0], :content => "<b>4. Row example text</b>", :inline_format => true), "36"]]

    pdf.table(table_data,:width => 500)
end

你也可以做

Prawn::Document.generate("test.pdf") do |pdf|
    table_data = [["<b>1. Row example text</b>\n\nExample Text Not Bolded", "<b>433<b>"], 
                  ["<b>2. Row example text</b>", "<b>2343</b>"], 
                  ["<i>3. Row example text</i>", "<i>342</i>"],
                  ["<b>4. Row example text</b>", "<sub>36</sub>"]]

    pdf.table(table_data, :width => 500, :cell_style => { :inline_format => true })
end

大虾的 inline_format 支持<b>, <i>, <u>, <strikethrough>, <sub>, <sup>, <font>, <color> and <link>

于 2012-09-10T16:43:01.357 回答