Wicked Pdf
Grover
Wicked Pdf | Grover | |
---|---|---|
7 | 4 | |
3,528 | 904 | |
- | 1.0% | |
6.3 | 6.3 | |
about 1 month ago | 11 days ago | |
Ruby | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Wicked Pdf
-
Job Adventures - PDF generation | Jun 2024
My first contact with building PDFs was with rails using https://github.com/mileszs/wicked_pdf. The task always seems easy, you just build HTML and render that to pdf. And in fact, the part of rendering the info to the pdf is easy. The nightmare comes when implementing what is on the mockups. How will CSS behave in printing mode? What if we have a component that can’t split on a page break, it should jump in its entirety to the next page? What if our cover page does not count to the page total? What if the cover page does not have an header/footer? Why is the pdf so big?
-
Working with PDFs in Ruby
We’ll start with the WickedPDF gem, which is powered by the wkhtmltopdf command-line library.
-
Creating PDFs in a Ruby on Rails application
You have a few options when trying to create a PDF in a Rails environment. Prawn and Wicked PDF have been around for quite a while. I have been using both gems and they work fine. However, they have a few limitations that can make it difficult to handle more complex PDFs. I recently discovered Grover, which can remediate some of this inflexibility in creating PDFs.
-
Generate PDF with gem wicked_pdf
# WickedPDF Global Configuration # # Use this to set up shared configuration options for your entire application. # Any of the configuration options shown here can also be applied to single # models by passing arguments to the `render :pdf` call. # # To learn more, check out the README: # # https://github.com/mileszs/wicked_pdf/blob/master/README.md WickedPdf.config ||= {} WickedPdf.config.merge!({ layout: "pdf.html.erb", orientation: "Landscape", lowquality: true, zoom: 1, dpi: 75 })
-
Converting HTML to PDF using Rails
A couple of popular gems to convert HTML to PDF in Rails are PDFKit and WickedPDF. They both use a command line utility called wkhtmltopdf under the hood; which uses WebKit to render a PDF from HTML.
- Gerando PDF com a gem wicked_pdf no Rails 6
-
20 months, 2K hours, 200K € lost. A story about resilience and sunk cost fallacy
Thanks for sharing - it takes a lot to share these sort of personal experiences. I've definitely been there, too.
Aside from all the good and valid comments about reducing scope and shipping an MVP, I'd like to raise another point which may be controversial (or even wrong), but still worth raising:
Would it have been different if you had used Rails? A few of the problems you mention (rich text editing, validation, and to some extend, pdf exports) are very easily solved in Rails. Take rich text editing: It's literally a couple minutes to use ActionText. Or validations / forms, there's really not much work to do. PDF exports are also not too hard via wicked_pdf [1] if you're okay with fixing some formatting quirks later on.
I've seen both worlds by writing tons of JS / React code myself, and at that time (2016-2018) those problems were almost an order of magnitude more time-costly to implement in SPAs. I remember react-router.. not great memories.
Of course, all the points reducing MVP scope still hold, yadda yadda, but.. if you could have had all those features (nearly) for free, would you be at another stage now? Who knows.
[1] https://github.com/mileszs/wicked_pdf
Grover
- A Ruby Gem to Transform HTML into PDFs, PNGs or JPEGs Using Puppeteer/Chromium
-
Creating PDFs in a Ruby on Rails application
You have a few options when trying to create a PDF in a Rails environment. Prawn and Wicked PDF have been around for quite a while. I have been using both gems and they work fine. However, they have a few limitations that can make it difficult to handle more complex PDFs. I recently discovered Grover, which can remediate some of this inflexibility in creating PDFs.
-
Has anyone tried Grover to generate PDF files on Heroku?
I am looking for a PDF generation tool for a Rails project. I have looked Prawn, Wicked and PDFKit, but Grover seems to be the most easy to use. The only thing concerns me is: in order to run Grover on Heroku, I will have to add 2 additional build packs (one for node.js and one for puppeteer). Can someone share their experience on how will the extra build packs affect performance on Heroku? Because I really do not want to slow the app down. My use case is a styled HTML property list that will be mostly 2 pages long.
-
Converting HTML to PDF using Rails
The gem I recommend is called Grover. It uses Puppeteer and Chromium to "print" an HTML page into a PDF. So your PDF will look exactly how your page looks in Google Chrome's print preview. This will also allow you to reuse CSS from your app rather than having to write specific CSS just for your PDF exports.
What are some alternatives?
Pdfkit - A Ruby gem to transform HTML + CSS into PDFs using the command-line utility wkhtmltopdf
Prawn - Fast, Nimble PDF Writer for Ruby
Tailwind CSS - A utility-first CSS framework for rapid UI development.
Wisepdf - Wkhtmltopdf wrapper done right
CombinePDF - A Pure ruby library to merge PDF files, number pages and maybe more...
HexaPDF - Versatile PDF creation and manipulation for Ruby
Webpacker - Use Webpack to manage app-like JavaScript modules in Rails
RGhost - RGhost is a document creation and conversion API. It uses the Ghostscript framework for the format conversion, utilizes EPS templates and is optimized to work with larger documents. Support(PDF,PS,GIF,TIF,PNG,JPG,etc)