使用jsoup规范化html itext html转PDF 空格丢失问题解决
作者:互联网
使用jsoup规范化html itext html转PDF 空格丢失问题解决
/** * 使用jsoup规范化html * * @param html html内容 * @return 规范化后的html */ private static String formatHtml(String html) { org.jsoup.nodes.Document doc = Jsoup.parse(html); //设置导出格式保留空格 doc.outputSettings(new org.jsoup.nodes.Document.OutputSettings().prettyPrint(false)); // 去除过大的宽度 String style = doc.attr("style"); if (StringUtils.isNotEmpty(style) && style.contains("width")) { doc.attr("style", ""); } Elements divs = doc.select("div"); for (Element div : divs) { String divStyle = div.attr("style"); if (StringUtils.isNotEmpty(divStyle) && divStyle.contains("width")) { div.attr("style", ""); } //获取文本标签 Elements span = div.select("span"); for (Element element : span) { //将空格替换为\u00a0 //注:\u00a0 后面也需要加一个空格 element.html(element.html().replace(" ","\u00a0 ")); } } // jsoup生成闭合标签 doc.outputSettings().escapeMode(Entities.EscapeMode.xhtml); doc.outputSettings().syntax(org.jsoup.nodes.Document.OutputSettings.Syntax.xml); return doc.html(); }
导出后效果:下划线部分就是空格了
标签:style,doc,空格,itext,jsoup,html,div 来源: https://www.cnblogs.com/cg-take/p/16401105.html