itext 7 html 到带有页面大小检测的 pdf
itext 7 html to pdf with page size detection
我正在使用 itext 7 将 HTML 模板 (Velocity) 呈现为 PDF,然后呈现为 PNG (Apache PdfBox),以用于热敏打印机打印。
我的模板呈现为:
<html>
<head>
<style>...</style>
</head>
<body>
<div id="container">...</div>
</body>
</html>
我的容器固定宽度为 512px。我想测量 html 的渲染高度,然后将其渲染为页面高度 = 测量高度的单页 PDF。
但是呈现的大小不是预期的大小。我希望渲染宽度为 512px,但 layoutResult returns 宽度为 385(而不是预期的 512)。
我错过了哪个参数?
谢谢
请查看常见问题条目How do the measurement systems in HTML relate to the measurement system in PDF?您会发现:
1 inch = 96 px
1 inch = 72 user units = 72 pt
看你的数字,好像把像素和点搞混了。
96 px = 72 pt
512 px = 512 / 96 * 72 pt
512 px = 384 pt
我猜你期望 512 px 并得到 384 pt,但这不是错误,因为 512 px 等于 384 pt。因此没有问题。您问题的主要问题是您忘记提及测量系统。
我正在使用 itext 7 将 HTML 模板 (Velocity) 呈现为 PDF,然后呈现为 PNG (Apache PdfBox),以用于热敏打印机打印。
我的模板呈现为:
<html>
<head>
<style>...</style>
</head>
<body>
<div id="container">...</div>
</body>
</html>
我的容器固定宽度为 512px。我想测量 html 的渲染高度,然后将其渲染为页面高度 = 测量高度的单页 PDF。
但是呈现的大小不是预期的大小。我希望渲染宽度为 512px,但 layoutResult returns 宽度为 385(而不是预期的 512)。
我错过了哪个参数? 谢谢
请查看常见问题条目How do the measurement systems in HTML relate to the measurement system in PDF?您会发现:
1 inch = 96 px
1 inch = 72 user units = 72 pt
看你的数字,好像把像素和点搞混了。
96 px = 72 pt
512 px = 512 / 96 * 72 pt
512 px = 384 pt
我猜你期望 512 px 并得到 384 pt,但这不是错误,因为 512 px 等于 384 pt。因此没有问题。您问题的主要问题是您忘记提及测量系统。