使用rails中的flying_ruby_saucer gem从HTML模板生成PDF

时间:2016-03-15 10:50:18

标签: ruby-on-rails wkhtmltopdf flying-saucer

我的要求是我从预渲染的HTML模板中生成PDF。此模板是一个多语言页面,使用来自客户的自定义字体。

尝试了以下方法:

  • 我使用wicked_pdf(内部使用wkhtmltopdf-binary)gem来实现这一目标,但我面临的问题是:字体字距不正确,因为其他字符在其他字符上重叠。实际PDF上显示相同的字体。我将所有CSS直接包含在HEAD中 - > STYLE,通过设置字母间距等尝试了各种技巧,但没有任何效果。

  • 所以,现在使用flying_ruby_saucer。字体字距看起来很合适。但是,阿拉伯语或HINDI中的字符都不会打印在PDF上,也不会拾取自定义字体。 我已将自定义字体声明为:

    @font-face {
      font-family: 'My Font';
      src: url('http://localhost:3000/assets/MyFont.ttf');
    }
    body{ font-family:"My Font"; }
    

但这不起作用,因为PDF生成显示默认字体系列。非ascii字符也不打印。

有人可以帮我解决这个问题(包括外国字符以及包含自定义字体)吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我假设您遇到基于UTF-8的字体问题,您可以使用prawn gem,因为此gem实际上支持UTF-8编码,也支持l18n。