0

嗨,我正在使用 rails 3 和 wicked pdf gem 在我的控制器中生成 pdf。但现在我想

在 rake 任务中生成 pdf,它将通过 cron 作业运行。创建此 PDF 后,我将发送

它在电子邮件中。

   this is my normal controller method to generate pdf


    def generate_invoice_pdf
      begin
        @trunk_groups_orig = TrunkGroupSubscriber.all
        render :pdf => "GenerateInvoice", :layout => false, :template => "/accountings/generate_invoice_pdf"
     rescue => client
      puts client.inspect
     end
    end

但是我如何在 rake 任务中生成 pdf

非常感谢您的帮助

4

1 回答 1

1

如果你正在使用pdfkitwicked_pdf那么你可以试试这个,看看它是否有效。

更新代码

class PdfInvoice
 def generate_invoice
  @trunk_groups_orig = TrunkGroupSubscriber.all
   content = File.read('#{Rails.root}/app/views/accountings/generate_invoice_pdf.erb')
   template = ERB.new(content) 
   # THis will generate html content 
   html_content = template.result(binding) 
   # now you have html content
   pdf= WickedPdf.new.pdf_from_string(html_content)
   # then save to a file
  save_path = Rails.root.join('pdfs','filename.pdf')
  File.open(save_path, 'wb') do |file|
   file << pdf
  end
 end 
end

PdfInvoice.new.generate_pdf
#You can customize method based on your requirement,
于 2012-09-13T12:37:38.603 回答