为了账号安全,请及时绑定邮箱和手机立即绑定

python docx文档转html页面

标签:
Python

说到word文档转html的,网上一搜一大把,各种在线word转html页面,使用起来也方便。但是在实际项目中要使用的话,需要自己开发,这里就提供一个简单的方法。
后缀 .doc 和 .docx 都是word文档,doc是word2003以及之前版本保存的文档,docx是word2007、word2010等保存的新型文档,本质都是属于文字排版的文件。注意 这里提供的方法暂时是针对docx的。

这里使用pydocx的库,安装pip3 install pydocx,可以直接对docx文件进行处理,简单粗暴,PyDocX.to_html("**.docx"),返回值就是转换后的html的源码,然后再通过写文件,写到html文件里面。

from pydocx import PyDocX
html = PyDocX.to_html("test.docx")
f = open("test.html", 'w', encoding="utf-8")
f.write(html)
f.close()

这里对文件的处理都是当前文件夹下面的,得到的html文件可以直接打开查看,通过对html查看,可以发现文字转换成了P标签,图片使用base64 的方式显示的。

这里是对本地的文件进行处理,进一步部署到服务器上,我使用的是Django的项目,前端页面通过form 表单进行上传docx 文件。

<form method="post" enctype="multipart/form-data">
<input type="file" name="file" accept="application/vnd.openxmlformats-officedocument.wordprocessingml.document">
</form>

<input> type属性定为file,accept="application/vnd.openxmlformats-officedocument.wordprocessingml.document" 筛选docx 的文件。

这里上传的文件是docx格式的word文档,针对doc 的文档,可以手动改成docx后缀名,进行上传使用。 尝试用代码转换成docx,window平台下有相应的库,ubantu 暂时无果,欢迎码友提供解决方法。
介绍下window平台下的代码转换方法,pip3 install pypiwin32安装这个库,里面有win32com,将doc文档转成docx 的。

from win32com import client
word = client.Dispatch("Word.Application")
doc = word.Documents.Open("D:\\***\\**.doc") //绝对路径 doc文件
doc.SaveAs("D:\\***\\**.docx",16) //保存的docx 文件,绝对路径
doc.Close()
word.Quit()

欢迎关注我的个人博客:https://www.manjiexiang.cn/

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消