我有以下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查看了一些示例,但没有提到这一点。
答案 0 :(得分:1)
您的问题不重复,但与这些问题有关:
在这两种情况下,我们都会将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。