我想在文档中添加一个包含HTML的段落 据我所知,iText仅支持通过XMLWorkerHelper直接向文档添加HTML。
此外,我想更改HTML的字体,但这可以通过css文件来完成。
我的方法与此代码类似:
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
worker.parseXHtml(pdfWriter, document, fis);
但是这个解决方案是直接写入文档。我想将HTML添加到段落中,因此我可以为该部分添加一些额外的格式。
答案 0 :(得分:1)
转到解析HTML step by step。在该示例中,最终管道是PdfWriterPipeline
,这不是您想要的(因为此管道将内容写入文档)。您希望使用ElementHandlerPipeline替换此最终管道,将遇到的所有HTML标记转换为ElementList。
获得此Element
个实例列表后,由您自行决定如何处理它(将它们添加到Paragraph
是一个选项)。
答案 1 :(得分:1)
String html = "<p>Html code here</p>";
Paragraph comb = new Paragraph();
StringBuilder sb = new StringBuilder();
sb.append(html);
ElementList list = XMLWorkerHelper.parseToElementList(sb.toString(), null);
for (Element element : list) {
comb.add(element);
}
para = new Paragraph(comb);
cell = new PdfPCell(para);
cell.setHorizontalAlignment(Element.ALIGN_LEFT);
cell.setBorder(Rectangle.NO_BORDER);
cell.setPaddingTop(0);
cell.setPaddingBottom(15f);
cell.setLeading(3f, 1.2f);
table.addCell(cell);