【发布时间】:2016-02-17 14:01:44
【问题描述】:
我们正在使用princely gem 在我们的rails 4 应用程序上生成pdf 文档。在过去的几天里,生成的 pdf 以纵向模式而不是指定的横向模式呈现;此功能多年来一直运行良好。
对服务器上的 ruby/rails 版本进行了一些更新,但 pdf 生成代码本身没有任何更改。
一个有趣的方面是,当我在我的机器 (Mac) 上进行本地测试时,pdf 是在开发服务器上以横向模式生成的。相同的代码在登台/生产服务器 (Linux) 上以纵向模式生成 pdf。
相关代码:
来自 Gemfile
gem 'rails', '4.2.5.1'
gem 'princely', git: "git@github.com:mbleigh/princely.git"
....
Pdf 渲染代码:
render :pdf => "ticket",
:template => "admin/tickets/print.pdf.erb",
:stylesheets => ["printpdf.css"]
app/assets/stylesheets/printpdf.css:
@page {
size: 8.5in 11in landscape;
margin: 5mm 5mm 5mm 5mm;
}
@page {
@bottom-right {
content: counter(page);
}
}
#pagebreak {
page-break-after: always;
}
Princely 命令执行(如日志所示):
PRINCE XML PDF COMMAND
/usr/local/bin/prince --input=html --server --log=/Users/prakash/Projects/main_project/log/prince.log -s /Users/prakash/Projects/main_project/app/assets/stylesheets/printpdf.css --silent - -o -
Rails 版本最近从4.2.4 更改为4.2.5.1,ruby 版本从2.2.0 更改为2.3.0。我在登台服务器上回滚了这两个更改,但是还原这些更改都不能解决纵向而不是横向的问题。
对于在哪里寻找此问题的根本原因以及如何解决问题的任何建议,我们将不胜感激。
【问题讨论】:
标签: css ruby ruby-on-rails-4 pdf-generation princely