之前文章分享過如何使用Spire.Doc for Python庫將Word文檔轉爲HTML格式,反過來,該庫也能實現HTML到Word文檔的轉換。通過代碼進行轉換,避免了手動複製粘貼費時間,並且可能會出現錯誤或格式混亂等問題。
Spire.Doc for Python庫能轉換一個HTML文件爲 Word Docx 格式,也能直接將HTML字符串轉爲Word文檔。具體實現方法查看下文。
首先通過以下pip命令安裝該Python庫:
pip install Spire.Doc
Python 將HTML文件轉爲Word
from spire.doc import * from spire.doc.common import * # 創建Document類的對象 document = Document() # 加載一個HTML文件 document.LoadFromFile("input.html", FileFormat.Html, XHTMLValidationType.none) # 將HTML文件保存爲.docx格式 document.SaveToFile("Html文件轉爲Word.docx", FileFormat.Docx2016) document.Close()
上述代碼先加載了一個.html文件,然後通過調用 Document.SaveToFile() 方法就將該文件轉換成了.docx 格式。三行Python代碼輕鬆搞定HTML文件轉Word。
效果圖:
Python 將HTML字符串轉爲Word
from spire.doc import * from spire.doc.common import * # 創建Document類的對象 document = Document() # 在文檔中添加一節 sec = document.AddSection() # 在該節中添加一個段落 paragraph = sec.AddParagraph() # 指定HTML字符串 htmlString = """ <html> <head> <title>HTML轉Word示例</title> <style> body { font-family: 微軟雅黑, sans-serif; } h1 { color: #CC3333; font-size: 24px; margin-bottom: 20px; } p { color: #333333; font-size: 16px; margin-bottom: 10px; } ul { list-style-type: disc; margin-left: 20px; margin-bottom: 15px; } li { font-size: 14px; margin-bottom: 5px; } table { border-collapse: collapse; width: 100%; margin-bottom: 20px; } th, td { border: 1px solid #CCCCCC; padding: 8px; text-align: left; } th { background-color: #F2F2F2; font-weight: bold; } td { color: #0000FF; } </style> </head> <body> <h1>標題示例</h1> <p>這是一個簡單段落展示。</p> <p>無序列表:</p> <ul> <li>數學</li> <li>語文</li> <li>英語</li> </ul> <p>表格:</p> <table> <tr> <th>產品</th> <th>數量</th> <th>價格</th> </tr> <tr> <td>長褲</td> <td>30</td> <td>¥150</td> </tr> <tr> <td>毛衣</td> <td>2</td> <td>¥99</td> </tr> </table> </body> </html> """ # 將 HTML 字符串添加到段落中 paragraph.AppendHTML(htmlString) # 保存結果文件 document.SaveToFile("Html字符串轉Word.docx", FileFormat.Docx2016) document.Close()
上述代碼中,首先新建了一個Word文檔並添加段落,然後通過 Paragraph.AppendHTML() 方法將HTML字符串插入到了Word文檔的段落中,最後再保存文檔即可將實現轉換。生成文件如下圖: