(word公式编辑器等于号)(word公式编辑器加号怎么打)

如何将Word解析到富文本编辑器?

困扰:

前一段时间自己搭建了一个博客,但是有一个问题一直没有好的解决方案。

自己之前写的文章都是Word,怎么把Word导入到自己的博客呢?或者说如何将Word解析成HTML

借鉴:

因为本身自己在今日头条发表文章,头条后台发表文章有一个功能,就是可以将Word文档导入,然后后台自动解析到富文本编辑器中,这个功能就完美的实现了我的需求。但是,如何实现这种功能呢?

目标:

将Word解析成HTML。

思路:

1先把Word上传到服务器。

2利用POI把Word解析成HTML。

3将HTML片段放到富文本框里显示。

问题:

关于Word中图片的处理。

方案1:

在Word解析HTML时将Word图片转换成base64插入HTML。

优点:

省事。

缺点:

大量图片会导致HTML体积过大。

方案2:

在Word解析HTML时将Word图片存储下来,HTML的img放入图片链接即可。

关于这个图片链接:

1上传到图片服务中返回一个图片地址。

2存储在自己服务中,自定义一个图片地址。

补充:

最后将解析好的HTML插入到富文本即可。

以上大体思路都捋清楚。

工具类代码过多,贴出部分demo,参考源码私信或留言。

XWPFDocument document = null;

try {

// 存放图片的临时文件夹

String filePath = "D://tmpImage//";

File imageFile = new File(filePath);

// in Word流

document = new XWPFDocument(in);

// Word图片输出到D://tmpImage//

XHTMLOptions options = XHTMLOptions.create().URIResolver(new FileURIResolver(imageFile));

options.setIgnoreStylesIfUnused(false);

options.setFragment(true);

// 存放图片的文件夹

options.setExtractor(new FileImageExtractor(new File(filePath)));

// base64实现方式

/*options.setImageManager(new Base64EmbedImgManager());*/

// 重写URIResolver,目的将HTML img的路径修改为自定义路径

options.URIResolver((uri)->{

/*uri表示图片路径:word/media/image1.png*/

// 获取图片

File imgFile = new File("D://tmpImage//"+uri);

/*修改img name*/

String imgName = UUIDUtil.getUUID();

// 文件重命名 放到

String hz = "." + "html";

imgFile.renameTo(new File("D://image/word/media/" + imgName + hz));

// 返回图片url,即HTML img src

return "localhost:8080/upload/image/word/media/" + imgName + hz;

});

ByteArrayOutputStream out = new ByteArrayOutputStream();

XHTMLConverter.getInstance().convert(document, out, options);

return new ByteArrayInputStream(out.toByteArray());

} catch (IOException e) {

log.error(e.getMessage(), e);

}

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者双主双机热备所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(word公式编辑器等于号)(word公式编辑器加号怎么打)
本文链接:https://www.51qsb.cn/article/m9e4s.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-06-29
下一篇2023-06-29

你可能还想知道

发表回复

登录后才能评论