0

我正在基于在线办公环境生成发票。在我的本地服务器(win7)上,一切正常。PDF 是通过正确的测量等完美生成的,但是当通过在线服务器 (linux) 生成 pdf 时,所有内容都会被放大。pdf 包含页眉、发票规则和页脚。所有这些都包含文本和背景图像。这会导致内容超出页面尺寸。

这是一张图片来说明我的意思,左边是本地生成的pdf,右边是在线生成的。(删除了一些字段) 在此处输入图像描述

事情是我试过了,但没有成功:

  • 添加缩放参数
  • 添加 dpi 参数
  • 在服务器上更新 wkhtmltopdf
  • 在 css 中设置最大尺寸(即以 mm 为单位的 a4 尺寸)

有谁知道如何使 PDF 在在线服务器上看起来一样?是否有我缺少的参数/参数?

额外信息:

  • 我在本地运行 v0.11.0 rc2,服务器在 v0.11.0 rc1 上。找不到适用于 linux 或 mac 的 rc2 版本。
  • 我在生成时使用页脚、页眉和缩放参数,仅此而已。
4

2 回答 2

0

I think this is based on the PHP version.

try:

 phpinfo();

On both servers, and check if the linux server is compatible with the current wkhtmltopdf version.

于 2013-09-06T12:27:44.013 回答
0

我的同事这个​​周末解决了这个问题。他更新了 wkhtmltopdf 但这没有帮助。然后他开始设置以像素为单位的最大宽度,这就成功了。我已经以 mm 为单位设置了最大宽度和高度,但没有效果。这确实使标题定位错误,在页面的一半处。解决此问题的方法是添加 height:0; 给它。修复对我来说没有多大意义,但嘿它有效:P。

我现在使用以下参数:

["disable-smart-shrinking"],
["margin-left" => 0],
["margin-right" => 0],
["page-width" => "210mm"],
["page-height" => "297mm"],
["margin-bottom" => 0],
["header-html" => CUSTOM FUNCTION],
["margin-top" => "90mm"],
["header-spacing" => "90"],
["margin-bottom" => "18mm"],
["footer-html" => CUSTOM FUNCTION],
["javascript-delay" => 1000]
于 2013-09-09T06:43:32.713 回答