Skip to main content

Errno::ENOENT: No such file or directory


HTML to PDF conversion is very easy in rails and pdfkit will be useful in this case, wkhtmltopdf tool will be supporting tool so you can easily convert an html to pdf. 

In my experience I used the following steps:

gem install pdfkit -v 0.5.0
gem install wkhtmltopdf -v 0.1.2
gem install wkhtmltopdf-binary

Some times this sequence will not work, so I use the following as per the instruction from https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDF

Be careful to download the appropriate wkhtmltopdf tar ball, it depends on your os architecture, like i386 or 64


Try to convert html to pdf after restarting your web servers. 

If you get any error like: Errno::ENOENT: No such file or directory then I have a straightforward method and it is very simple too.

Uninstall the gem "wkhtmltopdf"

gem uninstall wkhtmltopdf 

then do the above things again, that is:

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

Restart your web servers, it should work.

Comments

  1. hi!
    i'm from mexico

    same thing happened to me, but my error was in layout of render_to_string:


    html1 = render_to_string(:template => "/file.html.erb", :layout => 'file', :locals => { :id => @object.id })
    kit1 = PDFKit.new(html1,:orientation=>'Portrait')
    kit1.stylesheets << "#{Rails.root}/file.css"
    kit1 = kit1.to_file("#{Rails.root}/public/file#{@object.id}_file.pdf")

    next change:

    html1 = render_to_string(:template => "/file.html.erb", :layout => false, :locals => { :id => @object.id })
    kit1 = PDFKit.new(html1,:orientation=>'Portrait')
    kit1.stylesheets << "#{Rails.root}/file.css"
    kit1 = kit1.to_file("#{Rails.root}/public/file#{@object.id}_file.pdf")

    ReplyDelete
  2. hi Dulce,

    Is it working fine after your "next change" ? otherwise let me know what the exact error are you receiving.

    Best,
    Kannan

    ReplyDelete

Post a Comment

Popular posts from this blog

Rails 1.2.1 with Ruby 1.8.x installation tips

ROR Setup (Ruby 1.8.6 , patch level 111, rails 1.2.1, CentOs 6.2 62 bit, Postgres 8.3) Make sure rpmforge included in your yum.repo ‘s, you can make it is available through cd /tmp/ wget  http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm --import  http://apt.sw.be/RPM-GPG-KEY.dag.txt rpm -K rpmforge-release-0.5.2-2.el6.rf.*.rpm rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm Download and install ruby 1.8.6 cd /tm/ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.bz2 tar jxf ruby-1.8.6-p111.tar.bz2  cd ruby-1.8.6-p111 ./configure make Note: If you found any error like make gcc -g -O2  -DRUBY_EXPORT -D_GNU_SOURCE=1  -I. -I.  -c array.c gcc -g -O2  -DRUBY_EXPORT -D_GNU_SOURCE=1  -I. -I.  -c bignum.c gcc -g -O2  -DRUBY_EXPORT -D_GNU_SOURCE=1  -I. -I.  -c class.c gcc -g -O2  -DRUBY_EXPORT -D_GNU_SOURCE=1  -I. -I.  -c compar.c gcc -g -O2  -DRUBY_EXPORT -D_GNU_SOURCE=1  -I. -I.  -c dir.c