如何在prawn pdf中正确对齐标题​​和列?

时间:2012-08-06 20:38:55

标签: pdf pdf-generation prawn prawnto

我们正在生成pdf for prawn in rails 3.1.4。

  header =[[  "Date", "#", "sample name", "model","lease item", "hours", "$/hour", "Total"]]
  items = @invoice.invoice_items.map do |item|
    [
                item.lease_usage_record.lease_usage_items.map do |li|
                [
                  li.lease_date.strftime("%Y-%m-%d"),
                  item.lease_usage_record_id,
                  li.sample_name,
                  li.sample_model_num,
                  li.lease_item.short_name,          
                  li.total_hour,
                  li.charge_rate,
                  li.subtotal
                ]
                end
    ] 
  end
items = header + items
pdf.table items, :header => true, :width => 480 
t = pdf.make_table([ ["                                                       ", "Total:     ","    #{@invoice.total}"] ])
t.draw

它可以解决问题。问题是所有数据单元都被挤入第一列,即“Date”。试图在标题中再添加一个[],它生成了“数据是二维数组......”的错误。如何在标题下正确对齐每列?非常感谢。

1 个答案:

答案 0 :(得分:0)

通过将数据(项目)的维度减少到2维来解决问题。对虾只能获取二维数据。以下行可以解决问题:

items = items.flatten(2)