Prawn :: Errors :: CannotFit Rails新建线表

时间:2018-10-19 10:35:04

标签: ruby-on-rails pdf prawn

我正在使用ruby on rails上的Web应用程序,该应用程序应列出一组用户可以注册的演示文稿。最后,管理员应该能够使用自动生成的PDF向所有用户发送电子邮件。我正在使用大虾来创建此pdf。

控制器:

def generate_pdf(teac,pres)
    Prawn::Document.new(:page_size => "A4", :page_layout => :landscape) do
      text "#{teac.name} #{teac.surname}", align: :center
      text "Your Presentations"
      table([
        ["Name","Surname","Title","Room","Time","Date"],
        [pres.collect{ |r| [r.name] },
         pres.collect{ |r| [r.surname] },
         pres.collect{ |r| [r.title] },
         pres.collect{ |r| [r.room] },
         pres.collect{ |r| [Time.at(r.time.to_i).utc.strftime("%H:%M")] },
         pres.collect{ |r| [r.date] }]
        ])
      move_down 20
      pres.each do |pres|
        text "visitors '#{pres.title}':"
        text "#{pres.visitors}"
        move_down 20
      end
    end.render
  end

当标题太长以至于表格扩展到横向A4页面之外时,就会出现问题。标题变长时,是否可以自动添加新行?

1 个答案:

答案 0 :(得分:0)

如果可以设置静态列宽,那应该可以解决问题。

例如:

table(data, column_widths: [100, 100, 100, 100, 100, 100])