將 Word與HTML互相轉(zhuǎn)換
Word 與 html 的轉(zhuǎn)換使程序員和開發(fā)人員能夠通過編輯和定義 word 來創(chuàng)建 html,最后實(shí)現(xiàn)word與html轉(zhuǎn)換。本節(jié)將介紹一種通過使用 C#、VB.NET 的 .NET Word 組件將 word 與 html相互轉(zhuǎn)換 的解決方案。
(一)在 C#、VB.NET 中將 Word 轉(zhuǎn)換為 HTML
Spire.Doc for .NET是一個(gè)專業(yè)的word組件,無需安裝MS Word,兩行關(guān)鍵代碼即可將word轉(zhuǎn)為html。一種是Document.LoadFromFile(string fileName)方法,用于從系統(tǒng)加載您的 word 文件。另一個(gè)是Document.SaveToFile(string fileName, FileFormat fileFormat)負(fù)責(zé)將 word 保存為 html 文件。
在這里可以查看word到html轉(zhuǎn)換任務(wù)的效果。請(qǐng)隨時(shí)下載 Spire.Doc for .NET并查看上圖后的詳細(xì)代碼。
[C#]
using Spire.Doc; using Spire.Doc.Documents; namespace Word_to_HTML { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //Create word document Document document = new Document(); document.LoadFromFile(@"..\wordtohtml.doc"); //Save doc file to html document.SaveToFile("toHTML.html", FileFormat.Html); WordDocViewer("toHTML.html"); } private void WordDocViewer(string fileName) { try { System.Diagnostics.Process.Start(fileName); } catch { } } } }
[VB.NET]
Imports Spire.Doc Imports Spire.Doc.Documents Namespace Word_to_HTML Public Class Form1 Inherits Form Public Sub New() MyBase.New InitializeComponent End Sub Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) 'Create word document Dim document As Document = New Document document.LoadFromFile("..\wordtohtml.doc") 'Save doc file to html document.SaveToFile("toHTML.html", FileFormat.Html) WordDocViewer("toHTML.html") End Sub Private Sub WordDocViewer(ByVal fileName As String) Try System.Diagnostics.Process.Start(fileName) Catch As System.Exception End Try End Sub End Class End Namespace
(二)如何將 HTML 轉(zhuǎn)換為 Word
為什么使用 C#/VB.NET 將 HTML 轉(zhuǎn)換為 Word?
僅通過復(fù)制和粘貼即可將 HTML 文件內(nèi)容保存到 Word 文檔中非常容易?;蛘哂脩艨梢杂益I單擊 html 文檔,然后選擇編輯。它會(huì)自動(dòng)在 Word 中打開。然后您可以將其保存為 Word .doc 文件。但首先,“復(fù)制粘貼”方法只能用于純文本頁(yè)面或一些非?;镜?HTML 頁(yè)面。對(duì)于復(fù)雜的 HTML,可能會(huì)出現(xiàn)格式未正確呈現(xiàn)、圖像放置不正確、有時(shí)甚至丟失、CSS 布局似乎被完全忽略的情況。其次,對(duì) HTML 文檔進(jìn)行編輯也會(huì)導(dǎo)致 CSS 被忽略。但是使用 C#/VB.NET,將文件從 HTML 保存到 Word 可能會(huì)好得多。此外,它不需要在您的系統(tǒng)上安裝 Microsoft Office。
如何使用 C#/VB.NET 將 HTML 轉(zhuǎn)換為 Word?
借助 .NET 庫(kù),我們可以使用 C#/VB.NET 毫不費(fèi)力地將 HTML 轉(zhuǎn)換為 Word。Spire.Doc是一個(gè) MS Word 組件,它使用戶能夠直接為.NET 和 Silverlight執(zhí)行廣泛的 Word 文檔處理任務(wù)。與 Microsoft Word 可以幫助您將 Word 文件保存為不同的格式一樣,Spire.Doc 也支持將文件從Word Doc 轉(zhuǎn)換為 HTML、PDF、XML、RTF、Text、Docx、Dot 等。此外,除了將文件從 Word 轉(zhuǎn)換為其他流行文件格式,Spire.Doc 還可以將文件從HTML 轉(zhuǎn) Doc、XML 轉(zhuǎn) Doc、RTF 轉(zhuǎn) Doc、Text 轉(zhuǎn) Doc、Docx 轉(zhuǎn) Doc、Dot 轉(zhuǎn) Doc 等。
將 Spire.Doc(或 )Spire.Office與 .NET 框架一起下載,然后按照以下簡(jiǎn)單步驟將 HTML 轉(zhuǎn)換為 Word。
第 1 步:在 Visual Studio 中創(chuàng)建一個(gè)項(xiàng)目并添加 Spire.Doc 作為參考。
第 2 步:使用以下代碼加載將轉(zhuǎn)換為 Word doc 文件的 HTML 文件:
Document document = new Document(); document.LoadFromFile(@"D:\Work\Stephen\2011.12.06\test.html",FileFormat.Html,XHTMLValidationType.None);
第 3 步:下面的代碼可以幫助我們將 HTML 文件轉(zhuǎn)換為 Word 文檔。此外,Spire.Doc 還支持將 HTML 轉(zhuǎn)換為 PDF、XML、ePub、Text、Dot 等。
document.SaveToFile("test.doc", FileFormat.Doc);
第 4 步:將整個(gè)簡(jiǎn)單代碼寫入工程中,按F5開始轉(zhuǎn)換,完整代碼如下:
[C#]
using System; using Spire.Doc; using Spire.Doc.Documents; namespace Html2Doc { class Program { static void Main(string[] args) { Document document = new Document(); document.LoadFromFile(@"D:\test.html",FileFormat.Html,XHTMLValidationType.None); document.SaveToFile("test.doc", FileFormat.Doc); } } }
[VB.NET]
Imports System Imports Spire.Doc Imports Spire.Doc.Documents Namespace Html2Doc Friend Class Program Shared Sub Main(ByVal args() As String) Dim document As New Document() document.LoadFromFile("D:\test.html",FileFormat.Html,XHTMLValidationType.None) document.SaveToFile("test.doc", FileFormat.Doc) End Sub End Class End Namespace
輸出的 Word doc 文件可以在 Bin 文件夾中找到
有效截圖: