wkhtmltopdf 无法正确呈现百分比宽度

wkhtmltopdf not rendering percentage widths correctly

我正在使用 wkhtmltopdf 从 bootstrap 布局生成 PDF,在大多数情况下,结果非常接近浏览器呈现的结果。但是,我注意到使用分段 "bootstrap rows"(由许多 col-x 组成)使得总宽度加起来不等于 100%。

我在文档的一部分中使用了 12 col-xs-1,结果可以在这里看到:

这是 class 列的 CSS(或者至少是我尝试更改的部分):

.col-xs-1 {
    float: left;
    width: 8.333333%;
}

我将宽度 % 增加到 8.37% 没有任何变化,大小保持不变。但是,当我将它增加到 8.38% 时,它太大并破坏了布局(最后一列转到下一行)。

同样,在浏览器中它看起来不错。在我看来,存在舍入错误或干扰列宽的问题。 当你有边界时,它变得非常明显。

有人对我应该尝试什么有什么建议吗?

好的,所以问题是 wkhtmltopdf 不渲染小数像素(10.5px = 10px ...)

A "fix" 的问题是增加 dpi 设置。我设置为2000dpi,最终文件大小和处理时间保持不变,同时解决了问题。可能会有我现在不知道的副作用,但到目前为止,它似乎对我正在做的事情很有效。

另一个解决方法是确保 100% 宽度是 12(或您使用的 N 列)的倍数。我没有对此进行测试,但似乎合乎逻辑。

无论如何,记录在这里希望能帮助遇到同样问题的人。