rails prawn在表格或单元格内画一条线

时间:2016-11-19 11:15:08

标签: ruby-on-rails ruby-on-rails-4 prawn

我有一个由许多单元格组成的表格,在一个单元格中我想绘制一条水平线,如果我尝试使用horizo​​ntal_line,则会显示不支持的表格文档类型。

我正在使用虾红宝石

实施例

cell_1 = make_cell(:content => "this row content comes directly ", height: 62.5.mm, size: 6)
cell_2 = make_cell(:content => "this row content comes directly ", height: 62.5.mm, size: 6)
cell_3 = make_cell(:content => "this row content comes directly ", height: 62.5.mm, size: 6)
t = make_table([[cell_1],[cell2], [cell3])
t.draw

我尝试使用

cell4 = horizontal_rule(some values)

make_table显示错误无法识别的表格内容,当我向其添加cell4时。

如何在表格中绘制线条或制作单元格

2 个答案:

答案 0 :(得分:0)

我试图在几个月前做同样的事情,但最后我决定忘记使用大虾因为它让每件事都变得艰难!如果你有足够的时间使用另一个pdf生成器,我建议你使用Wicked_PDF gem(here)并用简单的 html css 绘制你的表格。 邪恶的pdf 更快捷,让您更有创意。

答案 1 :(得分:0)

您需要重写Prawn :: Table :: Cell类。这是我的操作方式:

class RedTriangleCell < Prawn::Table::Cell
  def natural_content_width
    0
  end

  def natural_content_height
    0
  end

  def draw_content
    color = @pdf.fill_color
    @pdf.fill_color("e93131")
    @pdf.fill_polygon([-5,2], [-1,8], [3,2])
    @pdf.fill_color(color)
  end
end

您可以删除此实例作为单元格内容,它将呈现draw_content中的内容。