尝试使用Prawn定位表

时间:2013-02-15 15:56:17

标签: ruby-on-rails ruby pdf prawn

我正在使用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人时增加它吗?

提前致谢

1 个答案:

答案 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