使纸张对齐的html与WKHTMLTOPDF一起使用

 vivianchen1988 发布于 2023-02-12 11:08

我正在尝试使用WKHTMLTOPDF实现报表引擎,但我无法将内容与纸张边缘对齐.

考虑我将纸张尺寸设置为A4并将边距打印为零,如下所示:

wkhtmltopdf-amd64 --load-error-handling ignore --orientation Portrait --page-size A4 --margin-top 0 --margin-bottom 0 --margin-left 0 --margin-right 0

现在我想做一个报告,其中的内容不会被纸边缘切断.例如,我的内容由表格和单元格组成,我不希望将单元格拆分为两页.CSS2有一个专门用于此的功能page-break-inside:avoid,但我知道没有支持它的浏览器,webkit也不例外.

然后我想如果我知道WKHTMLTOPDF中的A4纸实际上有多长,那么我可以通过调整它们来编写一些Javascript来对齐行.由于没有理由告诉CSS内的实际毫米数完全填写A4纸,我别无选择,只能使用错误和试用.最后我设法调整css height(height: 290.245261mm),以便页面内容垂直填充A4纸.该高度设置为具有绝对定位且顶部和左侧设置为零的DIV.所有有效的填充和边距也设置为零(HTML,BODY,...).

一切都很好,直到我意识到页数增长时情况的严重性.所以我在我的HTML中放了十个整页DIV,令我惊讶的是它打印了11页.在第11页的开头有一个微小的像素行.

所以,这是我的问题:有没有人想出一个解决方案,在使用WKHTMLTOPDF转换HTML时将HTML内容与纸张边缘对齐?我正在使用WKHTMLTOPDF 0.11.0 rc1.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有