【问题标题】:wkhtmltopdf enlarges content on serverwkhtmltopdf 放大服务器上的内容
【发布时间】:2013-09-10 12:55:45
【问题描述】:

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

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

我试过了,但没有成功:

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

有谁知道如何使在线服务器上的 PDF 看起来一样?有没有我遗漏的参数/参数?

额外信息:

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

【问题讨论】:

    标签: php pdf pdf-generation wkhtmltopdf


    【解决方案1】:

    我认为这是基于PHP版本的。

    尝试:

     phpinfo();
    

    在两台服务器上,检查linux服务器是否与当前的wkhtmltopdf版本兼容。

    【讨论】:

    • 还没有机会检查服务器的版本。但是我的本地版本是 5.4,由于我们使用的是特性,服务器必须是相同的版本或更高版本。但我会在星期一检查。我们现在还通过gist.github.com/slickplaid/5557321 更新服务器上的 wkhtmltopdf
    【解决方案2】:

    我的同事这个​​周末解决了这个问题。 他更新了 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]
    

    【讨论】:

    • 最大宽度(以像素为单位)?应该放在身上吗?
    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    相关资源
    最近更新 更多