Php wkhtmltopdf缩小css维度
我遇到了与Symfony 4.4.5上最新更新的knp Snappy捆绑包类似的问题 我设置了以下选项,但它们无助于修复错误Php wkhtmltopdf缩小css维度,php,wkhtmltopdf,knp-snappy,phpwkhtmltopdf,Php,Wkhtmltopdf,Knp Snappy,Phpwkhtmltopdf,我遇到了与Symfony 4.4.5上最新更新的knp Snappy捆绑包类似的问题 我设置了以下选项,但它们无助于修复错误 options: - { name: 'no-outline', value: true } - { name: 'encoding', value: 'UTF-8' } - { name: 'dpi', value: 300 } - { name: 'orientation', value: 'Portrait' } - { na
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 }
注意:将的“禁用智能收缩”更改为的“启用智能收缩”
不会改变任何内容。添加zoom
选项也不会改变任何内容
我已经检查了这些选项是否有影响,我可以确认它们有影响。例如,我将“肖像”
更改为“风景”
,这确实产生了一个风景文档
以下是显示问题的测试文件:
蓝色框是snappy捆绑包生成的PDF。它的正确尺寸为210mm x 297mm
,红色边框框是CSS尺寸为210mm x 297mm
的div的结果。显然有什么不对劲
如何解决这个问题?简短回答:
您可能正在使用不带qt修补程序的wkhtmltopdf版本
要解决这个问题,您需要一个修补版本的wkhtmltopdf,并使用您在文章中编写的相同参数
长答案:
了解您运行的版本是否包含修补程序
只需运行wkhtmltopdf
命令。如果你看到这样的情况:
减少功能:
此版本的wkhtmltopdf已发布
根据没有wkhtmltopdf补丁的QT版本编译。
因此,如果您需要这些功能,则缺少一些功能
请使用静态版本
目前,功能列表仅支持修补程序QT
包括:
- 将多个HTML文档打印到PDF文件中
- 在没有X11服务器的情况下运行
- 将文档大纲添加到PDF文件
- 将页眉和页脚添加到PDF文件
- 生成目录
- 在生成的PDF文件中添加链接
- 使用屏幕介质类型打印
- 禁用WebKit的智能收缩功能
这意味着您正在运行wkhtmltopdf的非修补版本
为了能够使用智能缩小或缩放功能,您需要一个补丁版本
PS:我知道这根线很旧,但我希望这能帮助别人