我有以下 HTML 字符串:
<font size="5">Requirements:</font><br><ul><li>Bullets are helpful</li><li>to display key points</li></ul><br>
如何在特定位置将上述 HTML 渲染为 PDF?
我在 http://itextpdf.com/sandbox/xmlworker 检查了一些示例但没有提到这一点。
最佳答案
您的问题不是重复的,但与以下问题相关:
在这两种情况下,我们都会将 HTML 解析为 ElementList
:
ElementList elements = XMLWorkerHelper.parseToElementList(HTML, CSS);
然后,我们创建一个 ColumnText
对象 ct
,向其中添加元素:
for (Element element : elements) {
ct.addElement(element);
}
ct.go();
在第一个问题中,具体位置由 AcroForm 表单字段的位置决定:
FieldPosition pos = form.getFieldPositions("Name").get(0);
我们创建一个 ColumnText
对象,如下所示:
ColumnText ct = new ColumnText(stamper.getOverContent(pos.page));
ct.setSimpleColumn(pos.position);
如果您想将 HTML 呈现为现有 PDF,则必须执行类似的操作。
第二个例子有点尴尬,因为我们使用ColumnText
来确定页面的高度。但原理是相似的:
ct = new ColumnText(writer.getDirectContent());
ct.setSimpleColumn(new Rectangle(120, 600, 240, 800));
ct.go();
在本例中,我对绝对位置的坐标进行了硬编码。它是一个矩形,左下角 x=120;y=600,右上角 x=240;y=800。
关于java - iTextPdf HTML 转 PDF : how to render HTML at specific location in PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30651554/