wicked_pdf无法在Ubuntu服务器上运行:wkhtmltopdf:无法连接到X服务器

我正在尝试在我的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' 

我试着按照这个答案: wkhtmltopdf:无法连接到X服务器,但它仍然无法正常工作。

这篇文章帮助我解决了我的问题: 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 

他还创建了一个初始化器来告诉pdfKit它在哪里,所以这个方法适用于邪恶的PDF和PDF工具包。

在此脚步中解决了这个问题https://stackoverflow.com/a/34947479/5320149

我发现没有假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 

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 
  1. 确认您已安装xvfb ,或使用apt-get install xvfb安装它。

  2. 创建一个名为wkhtmltopdf.sh的文件并添加以下内容:

     xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf $* 

    更改尺寸(640x480x16)以匹配您希望其模拟的任何虚拟屏幕参数。

  3. 将shell脚本移动到/usr/bin ,并设置权限:

     sudo chmod a+x /usr/bin/wkhtmltopdf.sh 
  4. (可选)您可以在项目目录中添加符号链接:

     ln -s /usr/bin/wkhtmltopdf.sh wkhtmltopdf 

请参阅此内容以供参考。