class OrderSummaryPdf < Prawn::Document def initialize(order, print_settings) super(:margin => [10, 5, 30, 5], :page_size => [200,400]) # font "public/fonts/#{font_name}".to_s + ".ttf".to_s # font "public/fonts/Zawgyi-One.ttf" # font "public/fonts/padauk.ttf" font_size 9 text "#{order[0].dining}", :size => 15 stroke_horizontal_rule move_down 5 #order_info order_info(order[0].order_by,order[0].order_at, order[0].customer) # order items order_items(order) end # Write Order Information to PDF def order_info(order_by, order_at, customer) y_position = cursor bounding_box([0,y_position], :width => 200, :height => 15) do text "OrderBy:#{order_by} Customer:#{customer} Date:#{order_at.strftime("%Y-%m-%d")}", :size => 7,:align => :left end stroke_horizontal_rule move_down 20 end # Write Order items to PDF def order_items(order_item) y_position = cursor bounding_box([0,y_position], :width => 180, :height => 15) do text "Item", :size => 7,:align => :left end bounding_box([160,y_position], :width => 20, :height => 15) do text "Qty", :size => 7,:align => :right end stroke_horizontal_rule move_down 5 #Add Order Item add_order_items(order_item) end # Add order items under order info def add_order_items(order_item) y_position = cursor move_down 5 order_item.each do|odi| bounding_box([0,y_position], :width => 180, :height => 20) do text "#{odi.item_name}", :size => 7,:align => :left end bounding_box([160,y_position], :width => 20, :height => 20) do text "#{odi.qty}", :size => 7,:align => :right end end move_down 5 end end