【问题标题】:itext 7 html to pdf with page size detection带有页面大小检测的 itext 7 html 到 pdf
【发布时间】:2018-05-31 03:20:24
【问题描述】:

我正在使用 itext 7 将 HTML 模板 (Velocity) 渲染为 PDF,然后渲染为 PNG (Apache PdfBox),用于热敏打印机打印。

我的模板呈现为:

<html>
<head>
    <style>...</style>
</head>
<body>
    <div id="container">...</div>
</body>
</html>

我的容器的宽度固定为 512 像素。我想测量html的渲染高度,然后将其渲染为单页PDF,页面高度=测量高度。

但渲染的大小不是预期的大小。我希望渲染的宽度为 512px,但 layoutResult 返回的宽度为 385(而不是预期的 512)。

我错过了哪个参数? 谢谢。

【问题讨论】:

    标签: java itext itext7


    【解决方案1】:

    请查看常见问题解答条目How do the measurement systems in HTML relate to the measurement system in PDF? 您会发现:

    1 英寸 = 96 像素

    1 英寸 = 72 个用户单位 = 72 磅

    看看你拥有的数字,你似乎在混淆像素和点。

    96 px = 72 pt
    512 px = 512 / 96 * 72 pt
    512 px = 384 pt
    

    我猜你期望 512 px 并得到 384 pt,但这不是错误,因为 512 px 等于 384 pt。因此没有问题。您的问题的主要问题是您忘记提及测量系统。

    【讨论】:

    • 感谢您的常见问题解答,我没有找到它。我已经完全切换到 pt 单元,它具有更合乎逻辑的感觉(热敏打印),并且渲染效果很好。
    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    相关资源
    最近更新 更多