请查看以下错误跟踪。
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
不确定这是一个问题还是来自我方的一些错误,它在我的本地系统中工作(长期安装)但不在数字海洋服务器中工作。两者都是Ubuntu 14。
我按照此页面的说明进行操作 - http://fedir.github.io/web/blog/2013/09/25/install-wkhtmltopdf-on-ubuntu/
请注意,我能够使用终端命令生成pdfs但不使用pdfkit。
如果我错过了什么,请告诉我。
更新 - 此link的解决方案对我有用。
答案 0 :(得分:0)
作为@ user1305989的评论,以下是解决方案,
步骤:
首先安装xvfb服务器:
sudo apt-get install xvfb
从http://wkhtmltopdf.org/downloads.html获取所需版本的wkhtmltopdf。
对于Ubuntu 14.04 64位:
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
安装wkhtmltopdf:
sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
安装依赖项(如果需要):
sudo apt-get -f install
在/usr/local/bin/
中创建符号链接:
echo 'exec xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "$@"' | sudo tee /usr/local/bin/wkhtmltopdf.sh >/dev/null
sudo chmod a+x /usr/local/bin/wkhtmltopdf.sh