pdf(wkhtmltopdf)生产环境中的小图像和错误

出于某种原因,使用wicked_pdf gem生成PDF文件(使用软件wkhtmltopdf的gem)的我的Rails应用程序正在开发和生产中生成不同的PDF。

这是它在开发中的输出,几乎没有问题:点击这里查看。
这是产量如何产生的,有很多错误:点击这里查看。

系统的真正区别在于,在开发过程中,我使用OSX中的wkhtmltopdf 0.9.9。 在生产中,我在Ubuntu中使用wkhtmltopdf 0.9.9。 一旦Ubuntu Server 14.04不使用X Server(并且wkhtmltopdf需要它),我安装了Xorg并制作了下面的包装器:

/usr/bin/wkhtmltopdf.sh

xvfb-run -a -s "-screen 0 1024x768x32" wkhtmltopdf "$@"

以及Rails初始化程序中的下列代码:

/config/initializers/wicked_pdf.rb

if Rails.env.production?
  WickedPdf.config = {
    :exe_path => '/usr/bin/wkhtmltopdf.sh'
  }
else
  WickedPdf.config = {
    :exe_path => '/usr/local/bin/wkhtmltopdf'
  }
end

这就是我渲染PDF的控制器代码:

render :pdf => "curriculum",
        :template => 'kurrics/kurrics.pdf.erb',
        :margin => { :top => 4, :bottom => 4, :left => 0, :right => 0 },
        :encoding => "utf8",
        :print_media_type => true

如果需要,PDF模板布局:
https://gist.github.com/fschuindt/e173c05d0cc7378df105

我很迷茫,任何小费?


您的问题可能已经解决。 但这个答案会对其他人有帮助。

作为您的pdf样本,问题出在外部CSS和背景图片上。 我有同样的问题,并且我在pdf模板中添加了如下内部CSS行。 (请参阅此问题)

background-image: url('file://<%= Rails.root.join('app/assets/images/colorful-triangles.jpg') %>');

此方法适用于开发和生产环境。

对于PDF使用单独的css文件是最佳做法。 这将加快您的PDF生成,并降低服务器成本。 并且,避免将不需要的css文件和图像加载到pdf布局。

链接地址: http://www.djcxy.com/p/63955.html

上一篇: pdf (wkhtmltopdf) small images and bugs in production environment

下一篇: wkhtmltopdf error when generating pdf with lots of pages with header / footer