我正在尝试使用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.