Search code examples
ruby-on-railswkhtmltopdfpdfkitwicked-pdf

wicked_pdf does not run on Ubuntu server : wkhtmltopdf: cannot connect to X server


I'm trying to use wicked_pdf on my prod server but it keeps failling :

RuntimeError (Failed to execute:
"/usr/bin/wkhtmltopdf" -q        "file:////tmp/wicked_pdf20130709-23109-1adqx5g.html" "/tmp/wicked_pdf_generated_file20130709-23109-1ic5dbe.pdf"
Error: PDF could not be generated!
 Command Error: wkhtmltopdf: cannot connect to X server
):
  app/controllers/contrats_controller.rb:15:in `block (2 levels) in show'
  app/controllers/contrats_controller.rb:11:in `show'

I tried to follow this answer : wkhtmltopdf: cannot connect to X server but it still does not work.


Solution

  • This post helped me to resolve my problem : http://www.stormconsultancy.co.uk/blog/development/generating-pdfs-in-rails-with-pdfkit-and-deploying-to-a-server/

    I'm reproducing here the step from this post that helped me to install it :

    # first, installing dependencies
    sudo aptitude install openssl build-essential xorg libssl-dev
    
    # for 64bits OS
    wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
    tar xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
    mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf
    chmod +x /usr/local/bin/wkhtmltopdf
    

    He also create an initializer to tell to pdfKit where it is, so this method is for wicked PDF and PDF Kit.