我正在使用ruby on rails上的prawn创建一个pdf名单。我的桌子上会有大约100行,垂直时它不适合一页。我想要做的是让表一旦到达页面底部就会换行,并在前一行的右侧开始新行。到目前为止,我有以下代码,它(取决于为名册pdf选择的选项)生成一个适合六页的长表。
user_list.in_groups_of(26,false) do |ul| #26 reaches the bottom of the page
ul.each do |u|
row = Array(u.first_name + " " + u.last_name ) #Individual Row
columns.to_i.times do |c|
row << " " #Optional columns being added
end
data << row #Individual row being added to the table data
end
table(data,:row_colors => ["E0E0E0", "FFFFFF"])
data = Array.new
end
我尝试做一个边界框,但我无法让它工作。我可以添加某种定位命令,然后每次抓取下一组26人时增加它吗?
提前致谢
答案 0 :(得分:0)
我最终使用column_box来获得所需的布局。我的结束代码现在看起来像
column_box([0, cursor], :columns => 5, :width => bounds.width) do
user_list.each do |u|
row = Array(u.first_name + " " + u.last_name )
columns.to_i.times do |c|
row << " "
end #END OF COLUMN LOOP
data << row
end #END OF USERLIST LOOP
table(data,:row_colors => ["E0E0E0", "FFFFFF"],:width => 160 + (columns.to_i-1) * 30)
end #END OF COLUMN_BOX
有关column_box的更多信息,请访问here。