wkhtmltopdf offsetHeight difference
wkhtmltopdf offsetHeight difference
我正在使用wkhtmltopdf 0.9.9。我需要知道动态生成的 HTML 元素的offsetHeight
;这是在wkhtmltopdf转换为PDF文件之前通过Javascript完成的。但是,当我在 HTML 和 PDF 结果中对其进行测试时,我注意到值差异。
下面是独立的测试用例:
<html>
<head>
<style>
#test {
height: 100px;
background-color: aqua;
}
p {
padding: 10px 0;
}
</style>
</head>
<body>
<div id="test">Test</div>
<h1>Hello</h1>
<p>Test<br>Test<br>Test<br>Test<br>Test<br></p>
</body>
<script>
var el = document.getElementById('test');
var p = document.getElementsByTagName('p')[0];
el.innerHTML = p.offsetHeight;
</script>
</html>
在 HTMl(通过浏览器)中,#test 元素包含值 110。但是,在生成的 PDF 中,#test 元素包含值 343。
这是如何发生的,这种不一致的解决方案是什么?
我将正文元素的宽度设置为PDF的宽度。
body {
width: 210mm;
}
总之,当我使用 e.x 测量内容的高度时。 $('#content').height()
大小似乎是正确的。
我也遇到了同样的问题,但使用 wkhtmltopdf 0.11。
我发现这些 0.12 之前的版本不支持 --viewport-size 参数,应用程序将没有适当的"窗口"宽度。
另请注意,您的任何 HTML 元素都没有设置明确的宽度值。这将导致一个非常薄的"虚拟窗口",应用程序在其中呈现您的 HTML。这将导致内部文本拆分为多行,节点具有非常高的高度值。
解决此问题,我可以做的是显式设置其中一个 html 元素的所需宽度。(最宽的一个,因此wkhtmltopdf可以将其用作"窗口"宽度)
相关文章:
- difference between '$(<%= DDL.ID %>) & $('
- XMLHttpRequest - difference between Chrome & Firefox
- Difference between methods of defining JavaScript 'class
- What is the difference between `HTMLImports.whenReady` and `
- Difference between "click" and onclick
- Difference between return ("abcd") and return &quo
- Difference between Array.apply(null, Array(x) ) and Array(x)
- Is there a interpretation difference between "..."
- 提交可变数量的数组以下划线 _.difference
- JS: difference between document.evaluate(".//html"
- 为什么 _.difference 返回所有项目
- Difference between setAttribute and setAttributeNS(null,
- wkhtmltopdf offsetHeight difference
- 在JavaScript类中声明变量:this与var.Difference
- Difference between '42..toFixed(3)' and '-42..to
- What is the difference between Reflect.ownKeys(obj) and Obje
- Difference between "if (foo) bar();" and "foo
- 作用域或控制器上的Angular js difference方法
- What's the difference between 'style' and 'i
- Bootstrap (Twitter) Datepicker Difference Calculation Return