word插入html 转换为docx图片不显示问题怎么解决

发布时间:2021-07-05 18:13:40 作者:chen
来源:亿速云 阅读:856

这篇文章主要介绍“word插入html 转换为docx图片不显示问题怎么解决”,在日常操作中,相信很多人在word插入html 转换为docx图片不显示问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”word插入html 转换为docx图片不显示问题怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

场景描述

使用mht格式利用freemark将网页上动态输入的图片搞到mht里面,转换为docx格式。其中图片是使用vshape标签展示(网上搜到的),将图片转换为base64写入到mht文件内(具体的操作可自行百度)。由于采用的是java语言,利用的是aspose这个工具转换为docx。结果转换出来的docx图片就不显示(其实不是不显示,是压根就没有图片的占位),但是使用office word打开mht文件图片是可见的。

头脑一热,用了wps打开mht文件,发现图片不显示了!利用office word打开又可以看到图片。所以猜测aspose转换后的docx无图片显示和wps是一个问题,导致转换出来docx的图片不显示。

问题分析

基本上定位肯定是图片展示使用的标签问题。网上搜索一番,发现vshape貌似只有office word支持,所以得换展示方式了。

怎么办?wps不支持vshape,那它单网页是如何展示图片的呢?

使用wps,新建一个word,插入图片,另存为单网页文件(mht)。然后利用notepad++打开,发现里面是使用img标签展示的。使用office word打开,图片可以展示。最后再去使用aspose工具转换一下,转换出来的docx图片已经成功展示。

问题解决!

总结一下: doc中图片的展示可能是使用vml的vshape标签进行图片的展示,但是vml仅有office才支持,所以使用wps等其他软件就看不了图片,工具转换格式也就出现了图片丢失的情况。

解决方案

使用img标签展示。

<img width=3D"554"  height=3D"396"  src=3D"~tmp{d2189b58-14f4-487b-a11a-94360551a999}9768886.files/~tmp{d2189b58-14f4-487b-a11a-94360551a999}97688860.png" >

其中~tmp{d2189b58-14f4-487b-a11a-94360551a999}9768886.files/~tmp{d2189b58-14f4-487b-a11a-94360551a999}97688860.png是定义当前图片的base64的位置,Content-Location属性,去掉前面的用户路径。

使用notepad++打开word(mht格式)文件最开始有当前文件的定义:

------=_NextPart_000_0076_01C29953.BE473C30
Content-Type: text/html; 
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///C:/Users/xxx/AppData/Local/Temp/~tmp{d2189b58-14f4-487b-a11a-94360551a999}9768886.TMP.html

其中~tmp{d2189b58-14f4-487b-a11a-94360551a999}9768886就相当于是当前文件的id,所有接下来找到图片的base64定义。

如下示例就是图片的base64定义开头:

------=_NextPart_000_0076_01C29953.BE473C30
Content-Type: application/octet-stream;
Content-Transfer-Encoding: base64
Content-Location: file:///C:/Users/xxx/AppData/Local/Temp/~tmp{d2189b58-14f4-487b-a11a-94360551a999}9768886.files/~tmp{d2189b58-14f4-487b-a11a-94360551a999}97688860.png

Content-Location截取从~tmp{d2189b58-14f4-487b-a11a-94360551a999}9768886开始的字符串,就是img中src的地址了。

到此,关于“word插入html 转换为docx图片不显示问题怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. Java如何实现Word/Pdf/TXT转html
  2. java使用POI实现html和word相互转换

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docx html

上一篇:Python中有哪些删除文件的方法

下一篇:Python中有哪些关联规则

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》