Usage of PDFKit with Rails 3.2.8 and Ruby 1.9.3 by Jay October 11, 2012 2 Minutes ReadPDFkit is a powerful library which generates PDF from HTML + CSS. It uses “wkhtmltopdf” on the back-end which renders HTML using Webkit. Here is a simple example which describes the installation of “wkhtmltopdf” and usages of pdfkit. I have used rails 3.2.8 and ruby 1.9.3 as my environment. Step-1: Install the “wkhtmltopdf” library Download the “wkhtmltopdf” library from the link http://code.google.com/p/wkhtmltopdf/ Windows Download the exe file and install it. Remember the installation path Linux Download the binary for your architecture at the http://code.google.com/p/wkhtmltopdf/downloads/list Extract the file to a directory that is in your PATH, such as /opt or /usr/local/bin and run from there. For Debian/Ubuntu use the following command: apt-get install wkhtmltopdf Step-2: Installing PDFKit In your bundle file write gem 'pdfkit' Then install bundle install Step-3: Configuration of PDFKit Create a new file “pdfkit.rb” in “config/initializers/” path and write the following If you are in windows then you need to give the path to the exe file generated after installation. If you are in linux and the path is set as the default path then you don’t need to give the path. PDFKit.configure do |config| config.wkhtmltopdf = 'C:Program Fileswkhtmltopdfwkhtmltopdf .exe' config.default_options = { :page_size => 'Legal', :print_media_type => true } # config.root_url = "http://localhost" # Use only if your external hostname is unavailable on the server. end Step-4: Middleware Setup Write the following in the “config/application.rb” require 'pdfkit' config.middleware.use PDFKit::Middleware config.threadsafe! Step-5: Usages Creating PDF in a file path Now to generate the pdf file by writing down the following codes on one of your controller actions kit = PDFKit.new"<h1>Hello</h1><p>This is PDF!!!</p>" file_path = your_file_path pdf = kit.to_file file_path Now you can find the PDF file being generated on the file path. Displaying PDF on browser <p id="pdf_link"><%= link_to "Download Invoice (PDF)", order_path(@order, :format => "pdf") %></p> Your PDF will be displayed on the browser. You can also add “.pdf” to any of our application’s URLs to get a PDF version of that page. SummaryArticle NameUsage of PDFKit with Rails 3.2.8 and Ruby 1.9.3DescriptionPDFkit is a powerful library which generates PDF from HTML + CSS. It uses “wkhtmltopdf” on the back-end which renders HTML using Webkit. Here is a simple example which describes the installation of “wkhtmltopdf” and usages of pdfkit. I have used rails 3.2.8 and ruby 1.9.3 as my environment.Author Jay Publisher Name Andoalsoft Publisher Logo Related Posts: File Uploading Through Paperclip in Rails 3.x How to Upload a File in Rails using CarrierWave How to generate Barcode using Barby Gem in Rails 2.3.8 Tags: Rails, Rails application, Rails Development, RoR, Ruby, Ruby on Rails Jayadev Das jayadev.das@andolasoft.com Do what you do best in – that’s what I’ve always believed in and that’s what I preach. Over the past 25+ years (yup that’s my expertise ‘n’ experience in the Information Technology domain), I’ve been consulting to small, medium and large companies ‘bout Web Technologies, Mobile Future as well as on the good-and-bad of tech. Blogger, International Business Advisor, Web Technology Expert, Sales Guru, Startup Mentor, Insurance Sales Portal Expert & a Tennis Player. And top of all – a complete family man!