From 4ab89efaf24b10eca343a15159115451bb926a95 Mon Sep 17 00:00:00 2001 From: Yan Date: Wed, 11 Oct 2017 15:16:40 +0630 Subject: [PATCH] add font for print setting --- .../origami/addorders_controller.rb | 2 +- app/controllers/print_settings_controller.rb | 2 +- app/pdf/close_cashier_pdf.rb | 13 ++++++++++++- app/pdf/crm_order_pdf.rb | 14 ++++++++++++++ app/pdf/order_item_pdf.rb | 13 ++++++++++++- app/pdf/order_summary_pdf.rb | 15 +++++++++++++-- app/pdf/queue_no_pdf.rb | 13 +++++++++++++ app/pdf/receipt_bill_pdf.rb | 19 +++++++++++++++---- app/pdf/stock_result_pdf.rb | 14 +++++++++++++- app/views/home/show.html.erb | 12 ++++++------ app/views/layouts/application.html.erb | 2 -- app/views/print_settings/_form.html.erb | 1 + .../_print_setting.json.jbuilder | 2 +- app/views/print_settings/index.html.erb | 2 ++ app/views/print_settings/show.html.erb | 4 ++++ .../20170628103624_create_print_settings.rb | 3 ++- 16 files changed, 110 insertions(+), 21 deletions(-) diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index 7f68eba3..8ac82280 100644 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -36,7 +36,7 @@ class Origami::AddordersController < BaseOrigamiController if (params[:id]) #Pull this menu @menu = MenuCategory.find_by_id(params[:id]) - puts @menu.menu_items[1].item_attributes.to_json + # puts @menu.menu_items[1].item_attributes.to_json return @menu else MenuCategory.current_menu diff --git a/app/controllers/print_settings_controller.rb b/app/controllers/print_settings_controller.rb index 5bf654ef..a72319b3 100644 --- a/app/controllers/print_settings_controller.rb +++ b/app/controllers/print_settings_controller.rb @@ -70,6 +70,6 @@ class PrintSettingsController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def print_setting_params - params.require(:print_setting).permit(:name, :unique_code, :template, :printer_name, :api_settings, :page_width, :page_height, :print_copies,:precision,:delimiter,:heading_space) + params.require(:print_setting).permit(:name, :unique_code, :template, :printer_name, :font, :api_settings, :page_width, :page_height, :print_copies,:precision,:delimiter,:heading_space) end end diff --git a/app/pdf/close_cashier_pdf.rb b/app/pdf/close_cashier_pdf.rb index 34a9779c..1c4f52d5 100644 --- a/app/pdf/close_cashier_pdf.rb +++ b/app/pdf/close_cashier_pdf.rb @@ -21,7 +21,18 @@ class CloseCashierPdf < Prawn::Document #setting page margin and width super(:margin => [printer_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height]) - # font "public/fonts/#{font_name}".to_s + ".ttf".to_s + # db font setup + if printer_settings.font != nil + font_families.update("#{printer_settings.font}" => { + :normal => "public/fonts/#{printer_settings.font}.ttf", + :italic => "public/fonts/#{printer_settings.font}.ttf", + :bold => "public/fonts/#{printer_settings.font}.ttf", + :bold_italic => "public/fonts/#{printer_settings.font}.ttf" + }) + + font "#{printer_settings.font}" + fallback_fonts ["Courier", "Helvetica", "Times-Roman"] + end # font "public/fonts/Zawgyi-One.ttf" # font "public/fonts/padauk.ttf" self.header_font_size = 10 diff --git a/app/pdf/crm_order_pdf.rb b/app/pdf/crm_order_pdf.rb index 22a381ca..dca0ab9b 100644 --- a/app/pdf/crm_order_pdf.rb +++ b/app/pdf/crm_order_pdf.rb @@ -18,6 +18,20 @@ class CrmOrderPdf < Prawn::Document @half_qty = @qty_width / 2 #setting page margin and width super(:margin => [self.margin, self.margin, self.margin, self.margin], :page_size => [self.p_width, self.page_height]) + + # db font setup + if printer_settings.font != nil + font_families.update("#{printer_settings.font}" => { + :normal => "public/fonts/#{printer_settings.font}.ttf", + :italic => "public/fonts/#{printer_settings.font}.ttf", + :bold => "public/fonts/#{printer_settings.font}.ttf", + :bold_italic => "public/fonts/#{printer_settings.font}.ttf" + }) + + font "#{printer_settings.font}" + fallback_fonts ["Courier", "Helvetica", "Times-Roman"] + end + self.header_font_size = 10 self.item_font_size = 9 diff --git a/app/pdf/order_item_pdf.rb b/app/pdf/order_item_pdf.rb index 64df3adb..9f916853 100644 --- a/app/pdf/order_item_pdf.rb +++ b/app/pdf/order_item_pdf.rb @@ -16,7 +16,18 @@ class OrderItemPdf < Prawn::Document super(:margin => [print_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height]) # super(:margin => [10, 5, 30, 5], :page_size => [200,400]) - # font "public/fonts/#{font_name}".to_s + ".ttf".to_s + # db font setup + if print_settings.font != nil + font_families.update("#{print_settings.font}" => { + :normal => "public/fonts/#{print_settings.font}.ttf", + :italic => "public/fonts/#{print_settings.font}.ttf", + :bold => "public/fonts/#{print_settings.font}.ttf", + :bold_italic => "public/fonts/#{print_settings.font}.ttf" + }) + + font "#{print_settings.font}" + fallback_fonts ["Courier", "Helvetica", "Times-Roman"] + end # font "public/fonts/Zawgyi-One.ttf" # font "public/fonts/padauk.ttf" #font "public/fonts/Chinese.ttf" diff --git a/app/pdf/order_summary_pdf.rb b/app/pdf/order_summary_pdf.rb index d23f2677..098718a2 100644 --- a/app/pdf/order_summary_pdf.rb +++ b/app/pdf/order_summary_pdf.rb @@ -15,9 +15,20 @@ class OrderSummaryPdf < Prawn::Document super(:margin => [print_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height]) - # font "public/fonts/#{font_name}".to_s + ".ttf".to_s + # db font setup + if print_settings.font != nil + font_families.update("#{print_settings.font}" => { + :normal => "public/fonts/#{print_settings.font}.ttf", + :italic => "public/fonts/#{print_settings.font}.ttf", + :bold => "public/fonts/#{print_settings.font}.ttf", + :bold_italic => "public/fonts/#{print_settings.font}.ttf" + }) + + font "#{print_settings.font}" + fallback_fonts ["Courier", "Helvetica", "Times-Roman"] + end # font "public/fonts/Zawgyi-One.ttf" - font "public/fonts/padauk.ttf" + # font "public/fonts/padauk.ttf" self.header_font_size = 12 self.item_font_size = 10 diff --git a/app/pdf/queue_no_pdf.rb b/app/pdf/queue_no_pdf.rb index 49e13bd9..504f4b5e 100644 --- a/app/pdf/queue_no_pdf.rb +++ b/app/pdf/queue_no_pdf.rb @@ -14,6 +14,19 @@ class QueueNoPdf < Prawn::Document super(:margin => [self.margin, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height]) + # db font setup + if printer_settings.font != nil + font_families.update("#{printer_settings.font}" => { + :normal => "public/fonts/#{printer_settings.font}.ttf", + :italic => "public/fonts/#{printer_settings.font}.ttf", + :bold => "public/fonts/#{printer_settings.font}.ttf", + :bold_italic => "public/fonts/#{printer_settings.font}.ttf" + }) + + font "#{printer_settings.font}" + fallback_fonts ["Courier", "Helvetica", "Times-Roman"] + end + self.header_font_size = 10 self.item_font_size = 8 diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb index 1d9b3f4d..28c33ba6 100644 --- a/app/pdf/receipt_bill_pdf.rb +++ b/app/pdf/receipt_bill_pdf.rb @@ -22,7 +22,18 @@ class ReceiptBillPdf < Prawn::Document #setting page margin and width super(:margin => [printer_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height]) - # font "public/fonts/#{font_name}".to_s + ".ttf".to_s + # db font setup + if printer_settings.font != nil + font_families.update("#{printer_settings.font}" => { + :normal => "public/fonts/#{printer_settings.font}.ttf", + :italic => "public/fonts/#{printer_settings.font}.ttf", + :bold => "public/fonts/#{printer_settings.font}.ttf", + :bold_italic => "public/fonts/#{printer_settings.font}.ttf" + }) + + font "#{printer_settings.font}" + fallback_fonts ["Courier", "Helvetica", "Times-Roman"] + end # font "public/fonts/Zawgyi-One.ttf" # font "public/fonts/padauk.ttf" self.header_font_size = 10 @@ -226,7 +237,7 @@ class ReceiptBillPdf < Prawn::Document move_down 5 y_position = cursor move_down 5 - bounding_box([0,y_position], :width =>self.item_description_width, :height => self.item_height) do + bounding_box([0,y_position], :width =>self.item_description_width) do text "Grand Total",:style => :bold, :size => self.header_font_size,:align => :left end bounding_box([self.item_description_width,y_position], :width =>self.label_width) do @@ -453,8 +464,8 @@ class ReceiptBillPdf < Prawn::Document move_down 5 y_position = cursor - bounding_box([0, y_position], :width =>self.label_width, :height => self.item_height) do - text "#{printed_status}",:style => :bold, :size => self.header_font_size,:align => :left + bounding_box([0, y_position], :width =>self.label_width) do + text "#{printed_status}",:style => :bold, :size => header_font_size,:align => :left end bounding_box([self.item_description_width,y_position], :width =>self.item_description_width, :height => self.item_height) do text "Thank You! See you Again", :left_margin => -10, :size => self.item_font_size,:align => :left diff --git a/app/pdf/stock_result_pdf.rb b/app/pdf/stock_result_pdf.rb index ef615a9c..4787e9b1 100644 --- a/app/pdf/stock_result_pdf.rb +++ b/app/pdf/stock_result_pdf.rb @@ -21,7 +21,19 @@ class StockResultPdf < Prawn::Document #setting page margin and width super(:margin => [printer_settings.heading_space, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height]) - # font "public/fonts/#{font_name}".to_s + ".ttf".to_s + # db font setup + if printer_settings.font != nil + font_families.update("#{printer_settings.font}" => { + :normal => "public/fonts/#{printer_settings.font}.ttf", + :italic => "public/fonts/#{printer_settings.font}.ttf", + :bold => "public/fonts/#{printer_settings.font}.ttf", + :bold_italic => "public/fonts/#{printer_settings.font}.ttf" + }) + + font "#{printer_settings.font}" + fallback_fonts ["Courier", "Helvetica", "Times-Roman"] + end + # font "public/fonts/Zawgyi-One.ttf" # font "public/fonts/padauk.ttf" self.header_font_size = 10 diff --git a/app/views/home/show.html.erb b/app/views/home/show.html.erb index 109ccc61..4d1096c8 100644 --- a/app/views/home/show.html.erb +++ b/app/views/home/show.html.erb @@ -39,18 +39,18 @@