首页 > 解决方案 > 将带有html代码的String转换为Pdf格式,像Document的一段一样填充一个itext元素,用itext5,xmlworker

问题描述

我需要转换一个字符串来填充 itext 的一个元素,比如一个段落。我不想在转换时创建一个新文档,我只想让它接收一个字符串并返回一些我可以添加为 pdf 文档的一部分的内容。我需要转换的输入示例是:

<h1>Hello<h1></br>
<h3>This is a test to demonstrate a simple html code I just need to convert</h3>

标签: pdfitextxmlworkerhelper

解决方案


您可以将 HTML 字符串解析为元素并将这些元素添加到段落中(顺便说一句,我修复了您的 html 字符串以进行测试):

String html = "<h1>Hello</h1><br/>\n" + 
        "<h3>This is a test to demonstrate a simple html code I just need to convert</h3>";
String css = null;
ElementList elements = XMLWorkerHelper.parseToElementList(html, css);
Paragraph paragraph = new Paragraph();
for (Element element : elements) {
    paragraph.add(element);
}

(来自CreatePdf测试testHtmlToParagraph

将其添加paragraph到 iText后,Document您将获得:

截屏

稍微有趣一点css

String css = "h1 { background-color: lightblue; font-size: 20pt} h3 {font-family: verdana; text-align: center; color: red;}";

你得到

截屏


推荐阅读