ruby-on-rails – wicked_pdf,wkhtmltopdf在Heroku上没有使用SVG
发布时间:2020-12-17 02:02:48 所属栏目:百科 来源:网络整理
导读:我有一个 Ruby on Rails 3.2应用程序,使用wicked_pdf gem和wkhtmltopdf 0.9.9库在我的本地机器上生成PDF,这是一个MAC OSX 10.7.5 Lion.该应用程序成功地将HTML页面(包括SVG图像)呈现为PDF文件,这是我们针对应用程序实现的确切行为. 在本地,我们不得不使用wkh
我有一个
Ruby on Rails 3.2应用程序,使用wicked_pdf gem和wkhtmltopdf 0.9.9库在我的本地机器上生成PDF,这是一个MAC OSX 10.7.5 Lion.该应用程序成功地将HTML页面(包括SVG图像)呈现为PDF文件,这是我们针对应用程序实现的确切行为.
在本地,我们不得不使用wkhtmltopdf 0.9.9,因为OSX的11.0.0版本存在错误. 问题是,当应用程序在Heroku上推送到生产时,它必须使用不同的二进制文件:wkhtmltopdf-0.9.9 Linux静态二进制文件(amd64)和SVG渲染似乎分崩离析.生成PDF,但SVG图像无法正确呈现.它们只是图像所在的空白或方形“壳”. 我们尝试使用wkhtmltopdf-heroku gem,但一直收到“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和其他图像格式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |