Please look at the below error trace.
In [1]: import pdfkit In [2]: pdfkit.from_string('a', 'a.pdf') --------------------------------------------------------------------------- OSError Traceback (most recent call last) in () ----> 1 pdfkit.from_string('a', 'a.pdf') /root/.virtualenvs/v1/lib/python2.7/site-packages/pdfkit/api.pyc in from_string(input, output_path, options, toc, cover, css, configuration) 66 configuration=configuration) 67 ---> 68 return r.to_pdf(output_path) 69 70 /root/.virtualenvs/v1/lib/python2.7/site-packages/pdfkit/pdfkit.pyc in to_pdf(self, path) 91 92 result = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, ---> 93 stderr=subprocess.PIPE) 94 95 # If the source is a string then we will pipe it into wkhtmltopdf. /usr/lib/python2.7/subprocess.pyc in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags) 708 p2cread, p2cwrite, 709 c2pread, c2pwrite, --> 710 errread, errwrite) 711 except Exception: 712 # Preserve original exception in case os.close raises. /usr/lib/python2.7/subprocess.pyc in _execute_child(self, args, executable, preexec_fn, close_fds, cwd, env, universal_newlines, startupinfo, creationflags, shell, to_close, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite) 1325 raise 1326 child_exception = pickle.loads(data) -> 1327 raise child_exception 1328 1329 OSError: [Errno 8] Exec format error
Not sure if this is an issue or some fault from my side, it was working in my local system(installed long back) but not working in digital ocean server. Both are Ubuntu 14.
I followed instructions from this page - http://fedir.github.io/web/blog/2013/09/25/install-wkhtmltopdf-on-ubuntu/
Note that I was able to generate pdfs using terminal commands but not using pdfkit.
Please let me know if I missed anything.
Update - Solution from this link is working for me.