如何用prawn更改整个表文本颜色

时间:2014-01-15 10:53:09

标签: ruby-on-rails ruby prawn

我有一个使用prawn gem生成pdf页面的RoR应用程序:

class ReportPdf < Prawn::Document
 def initialize(employees)
  super(top_margin: 70)
  @employees = employees
  list_employees
 end

 def list_employees
  move_down 20
  table list_employee_rows do
   row(0).font_style = :bold
   columns(1..4).align = :right
   self.row_colors = ["E8EDFF", "FFFFFF"]
   self.row(0).background_color = '005C89'
   self.row(0).text_color = "FFFFFF"
   self.header = true
  end
 end

 def list_employee_rows
  [["Name", "Badge number"]] +
  @employees.map do |employee|
   [employee.name, employee.badge_number]
  end
 end
end

我可以更改特定行的文本颜色(上面我已经将标题的颜色更改为白色)但是如何设置整个表格的文本颜色(而不是已经设置的标题颜色)?

2 个答案:

答案 0 :(得分:0)

table do区块内,您应该能够使用cells.style调用来定义所有单元格的属性。在那里,您将能够定义您喜欢的所有属性。

答案 1 :(得分:0)

在您的list_employees中只需一行更改。

您的list_employees方法应如下所示:

def list_employees
    move_down 20
    table list_employee_rows do
      row(0).font_style = :bold
      columns(1..4).align = :right
      self.cell_style = { :text_color => "ffffff"}
      self.row(0).background_color = '005C89'
      self.row(0).text_color = "FFFFFF"
      self.row_colors = ["E8EDFF", "FFFFFF"]
      self.header = true
    end
 end