-
Notifications
You must be signed in to change notification settings - Fork 646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
render_to_string doesn't work #34
Comments
Did it work before? I recently moved the prerendering of headers and footers into the make_pdf method here: This should allow you a lot more flexibility since before headers and footers were previously only made when calling render. And aliased render_to_string to render_to_string_with_wicked_pdf here: This should help, not hurt what you are trying to do. Are you doing this in a controller or a mailer? Could you provide a little more information about what you are trying to do? |
yeah, I'm rendering a pdf in a mailer and send it directly with the mail. class WickedPdfStandalone attr_accessor :av def pdf_from_options(options={},variables = {}) self.av = ActionView::Base.new(Rails::Application::Configuration.new(Rails.root).view_path) unless av av.class_eval do include ApplicationHelper end variables.each{|key,value| av.instance_eval("#{key} = nil") av.instance_variable_set("@order",value) } html_string = av.render(:template => options[:template],:layout => nil) options = prerender_header_and_footer(options) w = WickedPdf.new(options[:wkhtmltopdf]) return w.pdf_from_string(html_string, options) end private # Given an options hash, prerenders content for the header and footer sections # to temp files and return a new options hash including the URLs to these files. def prerender_header_and_footer(options) [:header, :footer].each do |hf| if options[hf] && options[hf][:html] && options[hf][:html][:template] WickedPdfTempfile.open("wicked_pdf.html") do |f| f << av.render(:template => options[hf][:html][:template], :layout => nil) options[hf][:html].delete(:template) options[hf][:html][:url] = "file://#{f.path}" end end end return options end end |
Thanks for the tip on putting it in a wrapper. Same issue here with render_to_string with header/footer in attachments. Another option is to generate the pdf in a view, and attach the file by reading it from the view in the mailer. Although that would add another hit on the server. |
Wicked PDF is not available from the mailer. We needed this in a hurry for a project I'm working on some time ago, so I forked it and monkey patched it by adding |
I don't know if this will help anyone or not, but this is how I am rendering a PDF, and then attaching it to a email using Mailer. Check out the stuff dealing with "script" https://github.com/taelor/radio/ https://github.com/taelor/radio/blob/master/app/controllers/episodes_controller.rb https://github.com/taelor/radio/blob/master/app/mailers/episode_mailer.rb |
doesn't seems to work anymore.
I want to send a File as Attachment, without saving it to the filesystem and using the header-render options.
pdf_helper is not supporting that unfortunately.
The text was updated successfully, but these errors were encountered: