2

我遇到了与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,红色边框框是 div 的结果,其 CSS 尺寸为210mm x 297mm。显然有什么不对劲。

如何解决这个问题?

4

1 回答 1

0

简短的回答:

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


长答案:

了解您是否正在运行带有或不带有补丁的版本。

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

减少功能:

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

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

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

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

为了能够使用智能缩小缩放功能,您需要一个补丁版本。


PS:我知道线程很旧,但我希望这对某人有所帮助

于 2021-01-25T15:20:05.857 回答