Prawn::Errors::CannotFit Rails 换行 table
Prawn::Errors::CannotFit Rails Make new line table
我正在 ruby 的 rails 开发一个网络应用程序,它应该列出一组用户可以注册的演示文稿。最后,管理员应该能够通过自动生成的 PDF 向所有用户发送电子邮件。我正在使用 prawn 创建此 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
当标题太长以至于 table 超出横向 A4 页面时会出现问题。有没有办法在标题变长的时候自动换行?
如果您可以设置静态列宽,那就可以了。
例如:
table(data, column_widths: [100, 100, 100, 100, 100, 100])
我正在 ruby 的 rails 开发一个网络应用程序,它应该列出一组用户可以注册的演示文稿。最后,管理员应该能够通过自动生成的 PDF 向所有用户发送电子邮件。我正在使用 prawn 创建此 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
当标题太长以至于 table 超出横向 A4 页面时会出现问题。有没有办法在标题变长的时候自动换行?
如果您可以设置静态列宽,那就可以了。
例如:
table(data, column_widths: [100, 100, 100, 100, 100, 100])