python docx文檔轉html頁面

文章鏈接:https://mp.weixin.qq.com/s/uMb2ziRS1NJ1GXIjofeANg

說到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 的文件。

使用地址:https://www.manjiexiang.cn/blog/wordtohtml

這裏上傳的文件是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/

更多精彩歡迎關注微信號:春風十里不如認識你
一起學習,一起進步,歡迎上車,有問題隨時聯繫,一起解決!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章