使用Spire.Doc來轉換文本
前段時間,我為不熟悉這個產品的讀者們寫了一篇關於我對 Spire.Doc的初識印象。Spire.Doc是一個專業的Word .NET庫,它是專門為開發人員設計的用來快捷高效地在任何.NET(C#,VB.NET,ASP.NET)創建,載入,編輯,轉化,打印 Word文檔的。作為一個獨立的Word .NET組件,Spire.Doc for .NET 不需要您在機器上安裝 MicrosoftWord。但是它可以將Microsoft Word 文件創造力與在任何開發者的應用合為一體。
背景
這篇文章的目的是為了展示並且評論Spire.Doc在文件格式轉換中的能力。很久以前開發人員就不必在服務器上安裝 MicrosoftOffice才能處理文件了。首先,這種設計和實現很糟糕。再次,微軟從來不打算將Microsoft Offic作為服務器組件並且在設計之初並不是為了在服務器端用來詮釋和處理文檔的。這就孕育出用像Spire.Doc這樣函數庫的想法。
當我們談論到這里時,不得不提到 Office Open Xml。 Office OpenXml(非官方也叫做OOXML或OpenXML)是微軟開發的用於表現數據表格,圖表,演示模板和處理word文件的一個基於XML的壓縮文件格式。微軟通過歐洲計算機制造商協會在2005年11月份對外宣稱他們將聯合標准化新版基於XML的格式,這就是“Office Open XML”。 Open Xml 的介紹對於Office文件結構給出了更多標准,開發者在此之下使用Open Xml SDK 可以直接完成許多基本操作,但是將word文檔轉化成其他不同格式像PDF,圖像或者HTML等等還是有很多的困難。這就是為什么說像 Spire.Doc 這類的函數庫解救了我們“開發者們”。
文本轉換
我將在文章剩下的篇幅介紹可以使用Spire.Doc的不同情況。抓換的示例都可以自行在Spire.DocDemo Live Demo中實現。我要展示的工程是一個簡單的控制台程序但是Spire.Doc也支持像Web和Silverlight 的其他平台。
以下是Spire.Doc自己的說法,下面我們看它的具體表現。
“Spire.Doc for .NET enables converting Word documents tomost common and popular formats.”
首先我們要用Spire.Doc的話就要先將它的庫引用添加至你的工程文件中,Spire.License 和Spire.Pdf是打包在Spire.Doc組件中的。
你的Spire.Doc license必須有效否則在文檔中會出現評估警告。設置license只要提供license文件的地址路徑,然后函數庫會自動應用確認license信息。其它的加載license方法還有從本地動態檢索出license或者將它添加為嵌入資源。具體文件操作點擊這里。
Spire.License.LicenseProvider.SetLicenseFile(licenseFile);
為了證實他基本的功能,我用一個有簡單文字的word文本,一個有圖像的,還有一個有表格的來演示。看上去是下圖樣子,你可以在Spire.Doc Demo上找到原始的演示文本。
這個庫的關鍵當然是Document 類。所以我們從創建Document object並 從文件中加載文檔信息開始。Document object的簡便性在於僅僅使用三行代碼,我們就可以將一個相當復雜的像本篇有很多元素的word文檔轉化為完全不同的文檔,這在是HTML格式。
Document document = new Document();
document.LoadFromFile( @" This is a Test Document.docx ");
轉化成Html
document.SaveToFile( " Test.html ", FileFormat.Html);
所以,到現在為止我們應該已經有了要用於轉化的文檔了。我們來看下他在后台是怎樣做到的。你要觀察新生成的有附加文件和文件夾的HTML文件的生成過程。這些文件和文件夾是用來保存哪些將出現在你的word文檔中的添加信息的。在這篇示例中,文件夾包括我們所添加到文本的測試圖片以及存儲表格格式的表單。這樣一來,不僅僅確保我們的數據被轉化並且保留了添加信息,例如樣式的完整。
樣式表單如下圖
單單一個參數的不同也可能會導致文本到其他文件的轉換像PDF出現失誤。我欣賞它的是在一個framework 中我們就可以不用附加樣式構圖而轉換成其他不同格式的文件。
注意它是在內存中完成,因此你不用接觸文件系統授權什么的。我記得以前在做工程的時候我們想轉換文件結果數據是從組件轉到pdf了但是無法跨格式保留原文件的布局。
轉化成Pdf
document.SaveToFile( " Test.Pdf ", FileFormat.PDF);
幾行代碼你就能看到下面顯示的PDF文件。license 警告是因為我用的是試用版本。如果你有授權license 文件,它就會消失。
轉化成Xml
FileFormat 類向我們顯示它最多支持24中不同格式。我最喜歡的是Xml。它拓展了我們可以對文檔數據的操作。舉個例子,你可以通過編輯word
文檔然后在未處理文件中生成Xml文件。
document.SaveToFile( " Test.Xml ", FileFormat.Xml);
轉化成圖片
把文檔轉換成圖片會怎么樣呢? Spire.Doc 支持文檔到圖片的轉化類,用它可以在 .Net framework中保存任何它所支持的圖片格式。
結論
Spire.Doc 是一個在word文檔轉換成其他文件格式時功能強大並且使用簡單產品。如果你用下生成數據表的功能你會發現更好用。作為第三方軟件,總有一種事情的多種做法。衡量利弊購買一個license不失為一個好選擇。從功能和價格方面考慮,對比市面上同類產品價格其實還好。真正物有所值才重要。