Comments (5)
Did it work before?
I recently moved the prerendering of headers and footers into the make_pdf method here:
30de4a2
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:
3fbcca0
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?
from wicked_pdf.
yeah, I'm rendering a pdf in a mailer and send it directly with the mail.
I came up with a Wrapper Standalone class! Might be usefull for someone.
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
from wicked_pdf.
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.
from wicked_pdf.
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 ActionMailer::Base.send :include, PdfHelper
to wicked_pdf_railtie.rb. Then you can just do render :pdf and render_to_string :pdf from your mailers too. Might be useful to others, but didn't (and unfortunately won't) add any tests for this due to time constraints.
from wicked_pdf.
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
from wicked_pdf.
Related Issues (20)
- Add support for --load-error-handling and --load-media-error-handling
- Remote asset returning non-200 response does not trigger an error
- Greek Character "𝛼" not showing correctly within PDF generated by Wicked PDF HOT 7
- Images won't load from Active Storage using Amazon S3 Bucket HOT 2
- version 2.7.0 breaks with webpacker
- Content is getting cropped in PDF
- ActionView::Template::Error uninitialized constant WickedPdf::WickedPdfHelper::Assets::SprocketsEnvironment::Sprockets HOT 3
- Feature Request: PDF/A-1
- pdf_from_url CSS not working HOT 1
- Raw PDF being rendered. HOT 1
- OpenStruct causes NameError in Rake13.2.0
- PDF is being rendered with raw ERB code HOT 4
- Content overlaps with the header layout
- RuntimeError on PDf Generation HOT 1
- wicked_pdf due to wkhtmltopdf not finding OpenSSL 1.1 despite installing over OpenSSL 3 HOT 7
- Remove usage of `OpenStruct` or add `ostruct` as dependency
- v2.8.0 causing ActionView::Template::Error: no implicit conversion of nil into String for first time in years HOT 7
- ArgumentError when changing the WickedPdf.config={...} to the new WickedPdf.configure.do |c| ... end HOT 1
- Error: PDF could not be generated! HOT 1
- Public assets not getting loaded after upgrade to Rails 7 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wicked_pdf.