網友評分: 9.7分
Aspose.words是一個無圖形用戶界面的.NET Word文檔的報告控件,它可以讓你在沒有安裝Word的情況下查看.doc文件。還支持DOC,OOXML,RTF,HTML,OpenDocument, PDF, XPS, EPUB和其他格式,可以在沒有Microsoft Word的情況下輕松對WORD文檔進行操作。
1、支持的平臺:
Aspose.Words支持.NET framework和Mono延伸的一些平臺,例如:PHP,ASP,WebServices和WinForms等平臺。
2、支持的文件格式
文檔處理控件Aspose.Words的文檔格式轉換轉換功能支持9種格式的導出和導入;渲染部分支持8種格式的導出;報表部分支持3種格式的導入。
1、無需安裝Microsoft Word
aspose.words在不安裝Microsoft Office的環境下就能夠工作,使您的電腦就像安裝了office一樣。aspose.words在安全,穩定性,可擴展性,速度,價格和功能方面的自動化都表明它是一種更好的選擇。
2、文檔格式的轉換
使用aspose.words文檔處理控件,開發人員可以很容易地打開和保存來自他們自己的應用程序的DOC, OOXML, RTF, WordprocessingML, HTML, MHTML, TXT以及OpenDocument文檔。aspose.words還可以在不同文檔之間進行轉換,只要是該產品所支持的格式。
3、文檔的渲染,打印和查看
使用aspose.words,您可以打印或轉換整個文檔或者甚至是文檔中的單個頁面為TIFF,PNG,BMP或EMF圖像。您還可以在一個.NET圖形對象之上渲染(繪制)任何文檔頁面,您可以設置它的大小和縮放級別來創建縮略圖用于瀏覽器中的顯示。
4、以一個文檔對象模型編程
Aspose.Words允許開發人員創建,構建和更改文檔包括通過使用我們直觀的擁有超過100種類型的文檔對象模型對文檔進行格式化。開發人員可以編程創建,修改,提取和替換所有的文檔元素包括章節,頁眉,頁腳,段落,列表,表格,文本,字段,超鏈接,書簽和圖像。
5、報表和郵件合并
文檔處理控件aspose.words允許開發人員在報表中使用標準的Microsoft Word郵件合并字段。此外,您可以以使用aspose.words針對郵件合并字段的擴展的語法在各個郵件合并操作之間執行更多復雜的操作,這些郵件合并操作有,插入圖像或可重復的區域。該數據可以驅動您的報表或郵件合并可以來自一個ADO.NET數據表,業務對象或來自一個完整地自定義數據源。
6、支持所有的.NET框架版本和MONO平臺
您可以使用aspose.words構建任何類型的32位或64位.NET應用程序,包括從任何NET Framework 版本1.1到4.0的ASP.NET, Web Services和WinForms應用程序。它可以通過來自ASP,Perl,PHP和Python的COM Interop來使用aspose.words。您甚至可以使用aspose.words構建具有Mono的應用程序。
Aspose.Words主要通過Words里域(Fields)來控制內容,基本方式就是新建一個新Word文件,在菜單中選擇插入->域,選擇MergeField,屬性->域名中輸入和數據庫表字段相同的名稱,然后確定就OK了。多添加幾個MergeField就可以輸入多個字段。接著是.net中的代碼,該代碼使用模板為基礎,循環數據庫表的內容,每條記錄在Word中顯示為一頁。
private void Page_Load(object sender, EventArgs e)
{
DataSet users = appService.GetAllUser();
Stream f = new FileStream(Server.MapPath("~") + @"\Output\Template\ApplyFormTemplate.doc", FileMode.Open);
Document doc = new Document(f);
// 建立圖片事件
doc.MailMerge.MergeImageField+=new Aspose.Words.Reporting.MergeImageFieldEventHandler(MailMerge_MergeImageField);
// 執行數據更新
doc.MailMerge.Execute(users.Tables[0]);
// 刪除未使用的空白域
doc.MailMerge.DeleteFields();
// 將結果發送到客戶端
doc.Save("ApplyForm.doc", SaveFormat.Doc, SaveType.OpenInWord, Response);
f.Close();
}
private void MailMerge_MergeImageField(object sender, Aspose.Words.Reporting.MergeImageFieldEventArgs e)
{
if (e.FieldValue != null && e.FieldValue.ToString() != "")
{
PhotoService photoService = new PhotoService();
string photoPath = photoService.GetPhotoPathById((int)e.FieldValue);
if (File.Exists(photoPath))
e.Image = Image.FromFile(photoPath); }
上面的代碼,可以將數據庫中所有用戶的資料按模板顯示,每個人的詳細記錄一個頁面。
需要特別說明的是上面的代碼中包含了照片。使用方法如下:
在需要加模板照片或圖片的地方,同樣插入域,但域名設置為:Image:數據表字段名,該處的數據表字段可以為String(也就是圖片地址),也可以是二進制的圖片。然后通過MergeImageField事件,將該處的顯示進行修改。如上面代碼,e.FieldValue就是數據庫里所保存的數據。然后通過一些代碼改變,設置e.Image的值為具體圖片,那么就完成。
改善大段落回流表現
為LINQ報告引擎的多數據源提供明確支持
通過IE的SVG輸出兼容性提升
為表格提升widow/orphan處理
改善亞洲文本的換行操作
為替換的字體改善字體度量計算
實現對廢止尾注選項的支持
標簽: 文檔處理 word文檔處理 Aspose.words