我们正在使用王子 gem 在我们的应用程序上生成 pdf 文档rails 4
。在过去的几天里,生成的 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"]
应用程序/资产/样式表/printpdf.css:
@page {
size: 8.5in 11in landscape;
margin: 5mm 5mm 5mm 5mm;
}
@page {
@bottom-right {
content: counter(page);
}
}
#pagebreak {
page-break-after: always;
}
执行的王子命令(如日志所示):
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
. 我在登台服务器上回滚了这两个更改,但是还原这些更改都不能解决纵向而不是横向的问题。
对于在哪里寻找此问题的根本原因以及如何解决它的任何建议,我们将不胜感激。