標籤:
使用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或者將它添加為嵌入資源。具體檔案操作點擊這裡。
FileInfo licenseFile = new FileInfo(@"C:\ManasBhardwaj\license.lic");
Spire.License.LicenseProvider.SetLicenseFile(licenseFile);
為了證實他基本的功能,我用一個有簡單文字的word文本,一個有映像的,還有一個有表格的來示範。看上去是樣子,你可以在Spire.Doc Demo上找到原始的示範文本。
這個庫的關鍵當然是Document 類。所以我們從建立Document object並 從檔案中載入文檔資訊開始。Document object的簡便性在於僅僅使用三行代碼,我們就可以將一個相當複雜的像本篇有很多元素的word文檔轉化為完全不同的文檔,這在是HTML格式。
//Create word document
Document document = new Document();
document.LoadFromFile(@"This is a Test Document.docx");
轉化成Html
//Convert the file to HTML format
document.SaveToFile("Test.html", FileFormat.Html);
所以,到現在為止我們應該已經有了要用於轉化的文檔了。我們來看下他在後台是怎樣做到的。你要觀察新產生的有附加檔案和檔案夾的HTML檔案的產生過程。這些檔案和檔案夾是用來儲存哪些將出現在你的word文檔中的添加資訊的。在這篇樣本中,檔案夾包括我們所添加到文本的測試圖片以及儲存表格格式的表單。這樣一來,不僅僅確保我們的資料被轉化並且保留了添加資訊,例如樣式的完整。
樣式表單如
單單一個參數的不同也可能會導致文本到其他檔案的轉換像PDF出現失誤。我欣賞它的是在一個framework 中我們就可以不用附加樣式構圖而轉換成其他不同格式的檔案。
注意它是在記憶體中完成,因此你不用接觸檔案系統授權什麼的。我記得以前在做工程的時候我們想轉換檔結果資料是從組件轉到pdf了但是無法跨格式保留原檔案的布局。
轉化成Pdf
//Convert the file to PDF
document.SaveToFile("Test.Pdf", FileFormat.PDF);
幾行代碼你就能看到下面顯示的PDF檔案。license 警告是因為我用的是試用版本。如果你有授權license 檔案,它就會消失。
轉化成Xml
FileFormat 類向我們顯示它最多支援24中不同格式。我最喜歡的是Xml。它拓展了我們可以對文檔資料的操作。舉個例子,你可以通過編輯word
文檔然後在未處理檔案中產生Xml檔案。
//Convert the file to Xml
document.SaveToFile("Test.Xml", FileFormat.Xml);
轉化成圖片
把文檔轉換成圖片會怎麼樣呢? Spire.Doc 支援文檔到圖片的轉化類,用它可以在 .Net framework中儲存任何它所支援的圖片格式。
//Save image file.
Image image = document.SaveToImages(0, ImageType.Metafile);
image.Save("Test.tif", System.Drawing.Imaging.ImageFormat.Tiff);
結論
Spire.Doc 是一個在word文檔轉換成其他檔案格式時功能強大並且使用簡單產品。如果你用下產生資料表的功能你會發現更好用。作為第三方軟體,總有一種事情的多種做法。衡量利弊購買一個license不失為一個好選擇。從功能和價格方面考慮,對比市面上同類產品價格其實還好。真正物有所值才重要。
使用Spire.Doc來轉換文本