新手问题 Rails 中生成 PDF 大家用什么

as181920 · 2013年03月25日 · 最后由 belmount 回复于 2013年04月05日 · 6925 次阅读

希望根据 html 页面,直接生成个一样的 pdf。

用 prawn 可以自定义,但是用 url 图片短时间内没弄出来,比如 google api 的图片;

用 pdfkit,根据 railscast 的案例,结果页面一直在加载,log 也没有,只有一个敬告。

The switch --print-media-type, is not support using unpatched qt, and will be ignored.

然后就没有找到更好的方法了,大家有什么方法给指导下

pdfkit 很好用

wicked_pdf 不错 很强大。

wicked_pdf 默认生成出来有乱码,式样混乱,没时间细研究,先放弃了。pdfkit 遇到上面说的莫名问题。所以暂时用 prawn-rails 先用了。 今天调 pdf 式样,不知道 prawn 好不好弄了。

我之前一直用的 Prawn,但今天发现它的 inline_format 有一点问题,不能带<br>或者<p></p>这样的强制换行,只能<font size='5'></font>这样的行内格式,\n也会显示成一个空格而回不了车,不知道 #3 楼 @lajunta #4 楼 @uudui 两位提到的 gem 能达到这个要求吗……

@as181920 wicked_pdf 和 pdfkit 都是用 wkhtmltopdf 的~~

#5 楼 @as181920 这个乱码多半是因为你系统中没有对应的字体,装上字体一般可以解决。

#6 楼 @hexawing 支持所有的 css 样式,不过我也遇到过一个问题,应该算一 Bug,对于 css 的滤镜效果支持不是很好,当有该属性时生成的 pdf 会很大,尽量不使用该属性。

后来我和客户直接商定用了比较简单的式样和效果,就用 prawn 直接做了。

#7 楼 @Lucifer wkhtmltopdf 这个是装了的,gem 包的安装说明上有,对照着安装了,系统中有这个命令了。

#8 楼 @gazeldx princexml 这个倒是有 gem 包可以支持,以前不知道,下次有机会可以试试用下。多谢。

#9 楼 @uudui 关键乱码时候没有提示到缺失啥字体,再去安装字体确实也麻烦。不过用 prawn 也是花了我一点时间去找到中文字体,还好本身安装包中有一个中文,不需要我去动系统。要不然部署时还要去动服务器系统去装字体什么的。css 和 pdf 是两个不同的东西,css 高级式样确实不适合照搬到 pdf。

补充 princexml 的 ruby 支持包在这里可以找到:http://www.princexml.com/download/wrappers/

#10 楼 @uudui 滤镜咱就不强求了……我决定有空试下,目前还是先 prawn 吧,感情深点…………

prawn 还可以,ruby 就没有一个专门用于打印报表的东西,个人干脆再架个 jasperreport server 搞报表

需要 登录 后方可回复, 如果你还没有账号请 注册新账号