java富文本(html)导出到 word (包括图片和文本内容)分别是url 和base64两种格式 - poi 和Jsoup; Jsoup.parse 获取body里面所有的子元素

39 篇文章 3 订阅
2 篇文章 0 订阅

		<dependency>
			<groupId>com.deepoove</groupId>
			<artifactId>poi-tl</artifactId>
			<version>1.12.0</version> 
		</dependency>

        <dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
			<version>1.14.2</version>
		</dependency>

富文本的图片是以url地址存储的(方案一)

富文本的图片是以url地址存储的
 public static void main(String[] args) throws Exception {
        String content = "<div class=\"media-wrap image-wrap\"><img src=\"http://192.168.1.16:9000/common/anchoremc-dynamic-server/20220803/1659512402215/file-20220803154002215.png\"/></div>\n</div><p>222</p>";
        Documents.DocumentBuilder of = Documents.of();
        Document document = Jsoup.parse(content);
        Element body = document.body();
        // 获取body里面的所有子元素
        Elements links = body.children();
        for (Element link : links) {
            Elements img = link.select("img");
            String src = img.attr("src");
            if(StringUtils.isNotBlank( src ) ){ // 处理图片
                of.addParagraph(Paragraphs.of(Pictures.ofUrl(src, PictureType.PNG).create()).create());
            }else { // 处理 文本
                Elements p = link.select("p");
                of.addParagraph( Paragraphs.of(p.text()).create() );
            }
        }
        DocumentRenderData data = of.create();
        XWPFTemplate template = XWPFTemplate.create(data);
        template.writeToFile("D:\\apps\\111.docx");

    }

富文本内容 base64图片(方案一)

public static String content() {
        String content = "<p><br></p><p style=\"text-align: start;\">111111111</p><p style=\"text-align: start;\">222222222</p><p style=\"text-align: start;\">333333333</p><p style=\"text-align: start;\"><img src=\"data:image/png;base64,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\" alt=\"\" data-href=\"\" style=\"\"></p><p><br></p>";
        return content;
    }

处理富文本里面的文本和图片(是base64格式的)

处理富文本里面的文本和图片(是base64格式的)
public static void main(String[] args) throws Exception {
        String text = WordUtil.content();
        Document document = Jsoup.parse(text);
        Documents.DocumentBuilder of = Documents.of();
        Elements links = document.getElementsByTag("p");
        for (Element link : links) {
            Elements p = link.select("p");
            Elements img = link.select("img");
            String src = img.attr("src");
            if(StringUtils.isNotBlank( src ) && src.contains("data:image/png;base64,") ){ // 处理图片
                of.addParagraph(Paragraphs.of(Pictures.ofBase64(src, PictureType.PNG).create()).create());
            }else { // 处理 文本
                of.addParagraph( Paragraphs.of(p.text()).create() );
            }
        }
        DocumentRenderData data = of.create();
        XWPFTemplate template = XWPFTemplate.create(data);
        template.writeToFile("D:\\apps\\111.docx");
    }

.

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值