pdf,wkhtmltopdf不能在Heroku上使用SVG

我有一个Ruby on Rails 3.2应用程序,它使用wicked_pdf gem和wkhtmltopdf 0.9.9库在我的本地机器上生成PDF,这是一个MAC OSX 10.7.5 Lion 。 该应用程序成功将HTML页面(包括SVG图像)呈现为PDF文件,这正是我们旨在为应用程序完成的确切行为。

在本地,由于OSX 11.0.0版本的bug,我们必须使用wkhtmltopdf 0.9.9。

问题是,当应用程序在Heroku上推到生产时,它必须使用不同的二进制文件: wkhtmltopdf-0.9.9 Linux Static Binary(amd64)和SVG渲染似乎分崩离析。 生成PDF,但SVG图像渲染不正确。 它们只是空白或方形的“炮弹”,图像应该是。

我们尝试使用wkhtmltopdf-heroku宝石,但不断收到“Broken Pipe”错误。

没有与此问题有关的错误消息,我们也不知道Linux版本的问题所在。 那里有任何想法?

这是我们在config/initializers/wicked_pdf.rb文件中的代码:

if Rails.env.staging? || Rails.env.production?  
  exe_path = Rails.root.join('bin', 'wkhtmltopdf-amd64').to_s  
else  
  exe_path = Rails.root.join('bin', 'wkhtmltopdf').to_s  
end

有一种简单的方法,不需要做大量的修补和配置工作 - 对SVG文件进行Base64编码并将其内联包含在HTML中:

<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGF...>

我使用这种方法在CSS中嵌入字体,但它也适用于SVG和其他图像格式。

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

上一篇: pdf, wkhtmltopdf not working with SVG on Heroku

下一篇: pdf footer not working