2011-05-03 52 views
2

我正在做一个商家网站。该网站必须有优惠券。铁路,虾和动态表

这张优惠券是由Prawn gem生成的pdf文件。

items = obtain_items 
     Prawn::Document.generate "public/#{self.saving.profile.user.id}/PDFs/order_#{self.id}.pdf" do |pdf| 
      pdf.font "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf" 

      pdf.repeat :all do 
      # header 
       pdf.image "public/images/fishle-logo-small.png", :at => [480, 735] 
       pdf.draw_text "Orden Nro. #{self.id}", :at => [0, 720] 
       pdf.draw_text "#{Date.today}", :at => [0, 680] 
       pdf.text "Fishle", :size => 36, :align => :center 

       # footer 
       pdf.draw_text "Fishle.com", :at => [200, 0], :size => 24, :color => "#ff0000" 
      end 

      #pdf poner texto numero de orden, debajo fecha, numero de pagina debajo de fecha 
      #PDF OTROS DATOS COMO INFO CLIENTE, Y DESC ORDEN 

      #NOW PRINT IN PDF A TABLE WITH INFORMATION ABOUT ORDER 
      pdf.move_down(80) 
      pdf.table items, :header => true, :column_widths => {0 => 35, 1 => 80, 2 => 195, 3 => 70, 4 => 70, 5 => 86, }, :row_colors => ["F0F0F0", "FFFFCC"] 
      pdf.move_down(10) 
      pdf.text "Precio Total:#{self.movements.first.debit_ammount}", :align => :right 
      #NOW PRINT THE FOOTER WITH COM INFO ABOUT FISHLE 

      10.times do 
      pdf.start_new_page 
      end 
      #NOW PRINT THE PAGE NUMBER 
      pdf.page_count.times do |i| 
      pdf.go_to_page(i+1) 
      pdf.draw_text "Página #{(i+1)} de #{pdf.page_count}", :at => [0, 700] 
      end 
end 

现在我的问题是:该网站实现这可能有n个项目一车,所以我应该动态生成的表。该表应该从页眉开始并在页脚之上移动(80)。

我怎么能生成这个表与虾?

我觉得这个解决方案。

首先在绝对高度和宽度的框中创建页眉和页脚。 然后,我创建表格,使标题的高度按下表格内容。 页脚抬起桌子。 所以当我开始一个新的页面时,桌子的位置就可以。

我的问题是:

  • 我怎么能创造这盒页眉和页脚这推动了表?

在此先感谢。

回答

0

我可以解决我的问题。创建文档时使用边距,然后将页眉和页脚位置设置为绝对位置

+1

您应该提供您使用的代码示例。我在试图让它为一个非常大的文本框工作时遇到了困难,我想制作页脚。 – Ray301 2011-06-07 20:05:29

+0

我也喜欢一个例子。我会去看看手册中的利润和固定位置,但例子非常棒。 – Cymen 2012-06-14 17:02:32