Syl*_*Syl 14 ruby-on-rails pdfkit wkhtmltopdf wicked-pdf
我正在尝试在我的prod服务器上使用wicked_pdf,但它仍然令人心烦:
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'
Run Code Online (Sandbox Code Playgroud)
我试着按照这个答案:wkhtmltopdf:无法连接到X服务器,但它仍然无法正常工作.
Syl*_*Syl 15
这篇文章帮助我解决了我的问题:http: //www.stormconsultancy.co.uk/blog/development/generating-pdfs-in-rails-with-pdfkit-and-deploying-to-a-server/
我正在复制这篇文章中帮助我安装它的步骤:
# 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
Run Code Online (Sandbox Code Playgroud)
他还创建了一个初始化程序,告诉pdfKit它在哪里,所以这个方法适用于邪恶的PDF和PDF工具包.
PRI*_*LOP 11
在此脚步中解决了这个问题/sf/answers/2446323561/
我发现没有假X服务器解决这个问题的方法.在wkhtmltopdf的最新版本中,不需要X服务器工作,但它没有进入官方的Linux存储库.
Ubuntu 14.04.4解决方案LTS(可靠)i386
$ sudo apt-get install xfonts-75dpi
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-i386.deb
$ sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-i386.deb
$ wkhtmltopdf http://www.google.com test.pdf
Run Code Online (Sandbox Code Playgroud)
Ubuntu 14.04.4 LTS(可靠)amd64的解决方案
$ sudo apt-get install xfonts-75dpi
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
$ sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
$ wkhtmltopdf http://www.google.com test.pdf
Run Code Online (Sandbox Code Playgroud)
验证您是否已xvfb安装或使用它进行安装apt-get
install xvfb.
创建一个名为的文件wkhtmltopdf.sh并添加以下内容:
xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf $*
Run Code Online (Sandbox Code Playgroud)
更改尺寸(640x480x16)以匹配您希望其模拟的任何虚拟屏幕参数.
将shell脚本移动到/usr/bin,并设置权限:
sudo chmod a+x /usr/bin/wkhtmltopdf.sh
Run Code Online (Sandbox Code Playgroud)(可选)您可以在项目目录中添加符号链接:
ln -s /usr/bin/wkhtmltopdf.sh wkhtmltopdf
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
19239 次 |
| 最近记录: |