Dim o1 As New Aspose.Words.Saving.HtmlSaveOptions
o1.SaveFormat = SaveFormat.Html
w.save("new filename",o1)
使用的是aspose.words的库,相关参考:Convert WORD To HTML - Python (aspose.com)
找了很多方案,感觉这个是转换效果最好的
阅读官方的文档,aspose.words需要的环境比较复杂,因此考虑做成一个docker镜像实现
需要的环境:gcc6+,python3,donet/runtime
dockerfile:
文件写好后执行docker命令
申请的是试用lic:Aspose.Words.Python.NET.lic有效期一个月,感觉确实比libreoffice转换的效果要好很多
假设你的word.py和待转换的aaa.docx在/home/tmp目录
执行命令:
容器运行完毕后就会在/home/tmp目录中生成Output.html,如果文档中包含图片,会生成图片
可以根据html中img的src,读取图片,然后上传到对象存储中,将本地图片路径替换为对象存储路径
到此为止,一份完整的html就搞好了
html标签内的style,如果不要,可以用一些过滤的方式将其剔除,可以在js中进行处理