【问题标题】:wkhtmltopdf scales down css dimensionswkhtmltopdf 缩小 css 尺寸
【发布时间】:2020-04-03 15:57:02
【问题描述】:

我遇到了与 this 类似的问题,这是 Symfony 4.4.5 上 knp Snappy Bundle 的最新更新。

我设置了以下选项,但它们无助于修复错误。

options:
    - { name: 'no-outline', value: true }
    - { name: 'encoding', value: 'UTF-8' }
    - { name: 'dpi', value: 300 }
    - { name: 'orientation', value: 'Portrait' }
    - { name: 'page-size', value: 'A4' }
    - { name: 'page-width', value: '210mm' }
    - { name: 'page-height', value: '297mm' }
    - { name: 'margin-top', value: '0' }
    - { name: 'margin-bottom', value: '0' }
    - { name: 'margin-left', value: '0' }
    - { name: 'margin-right', value: '0' }
    - { name: 'disable-smart-shrinking', value: true }

注意:'disable-smart-shrinking' 更改为'enable-smart-shrinking' 不会改变任何内容。添加zoom 选项也没有任何改变。

我已经检查了这些选项是否确实有效,并且我可以确认它们有效。例如,我将'Portrait' 更改为'Landscape',这确实导致了横向文档。

这是一个显示问题的测试文档:

蓝色框是由 snappy 包生成的 PDF。它的正确尺寸为210mm x 297mm,红色边框框是CSS 尺寸为210mm x 297mm 的div 的结果。显然有什么不对劲。

如何解决这个问题?

【问题讨论】:

    标签: php wkhtmltopdf knp-snappy phpwkhtmltopdf


    【解决方案1】:

    简答:

    您可能正在使用没有 qt 补丁的 wkhtmltopdf 版本 要解决此问题,您需要一个 wkhtmltopdf 的修补版本并使用您在帖子中编写的相同参数


    长答案:

    了解您运行的版本是否有补丁。

    只需运行wkhtmltopdf 命令。如果你看到这样的东西:

    功能减少:

    这个版本的 wkhtmltopdf 已经 针对没有 wkhtmltopdf 补丁的 QT 版本编译。 因此缺少某些功能,如果您需要这些功能 请使用静态版本。

    目前只有补丁 QT 支持的功能列表 包括:

    • 将多个 HTML 文档打印到 PDF 文件中。
    • 在没有 X11 服务器的情况下运行。
    • 向 PDF 文件添加文档大纲。
    • 为 PDF 文件添加页眉和页脚。
    • 生成目录。
    • 在生成的 PDF 文件中添加链接。
    • 使用屏幕介质类型打印。
    • 禁用 WebKit 的智能收缩功能。

    这意味着您正在运行 wkhtmltopdf 的未修补版本。

    为了能够使用 smart-shrinkingzoom 功能,您需要一个补丁版本。


    PS:我知道帖子很旧,但我希望这会对某人有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      相关资源
      最近更新 更多