pdf - 将带有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>
解决方案
您可以将 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;}";
你得到
推荐阅读
- oop - 解释 Robin C. Martin 关于过程编程与 OOP 的“清洁代码”
- scala - Scala 中的类型不匹配错误。发现:长,必需:字符串
- c# - Angular 8 - 路由在本地工作,但在生产环境中部署时,路由不起作用 - .NET Core C# 后端
- databricks - Databricks CDC(变更数据捕获)实施
- https - Jitsi 供企业使用
- sql - 如何在 Laravel Query 中列出客户最后一次购买的时间
- django - 如何在 Django 中将时间格式化为可读格式
- sql - 如何根据子查询进行更新?
- rust - Rust - 单行内的条件变异
- python - Python 从列表结果中用随机替换字母不是我所期望的