1. 程式人生 > >只需一行程式碼,python實現docx文件轉html頁面!

只需一行程式碼,python實現docx文件轉html頁面!

只需一行程式碼,python實現docx文件轉html頁面!

說到word文件轉html的,網上一搜一大把,各種線上word轉html頁面,使用起來也方便。但是在實際專案中要使用的話,需要自己開發,這裡就提供一個簡單的方法。

學習Python中有不明白推薦加入交流群
                號:516107834
                群裡有志同道合的小夥伴,互幫互助,
                群裡有不錯的學習教程!

字尾 .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 的檔案。

只需一行程式碼,python實現docx文件轉html頁面!

 

這裡上傳的檔案是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()