java - itext 7 html 到 pdf 带页面大小检测

标签 java itext itext7

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

我的模板呈现为:

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

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

但是渲染的大小不是预期的大小。我预计渲染宽度为 512px,但布局结果返回宽度为 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。因此没有问题。您的问题的主要问题是您忘记提及测量系统。

关于java - itext 7 html 到 pdf 带页面大小检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50616145/

相关文章:

java - JFrame 程序中的按钮错误

java - Mozilla MediaRecorder 的音频输出格式是什么以及如何在 Java(或 Scala)中解码 ogg 格式

java - 循环性能差但顺序执行速度快

itext - 在iText 7中编写文档时如何获取垂直光标位置?

java - Itext 7 分割段落

java - 如何使用 Java PDFBox 2.0.8 库创建可访问的 PDF,该库也可使用 PAC 2 工具进行验证?

java - 使用 iText 从 PCKS7 签名的 PDF 文件中获取哈希/摘要

java - 使用模板创建 PDF 文件

iText PDFWriter - 如果少数表格行转到新页面,则写入表格标题

java - iText7.1.11 - 需要 BouncyCasSTLe JAR 吗?