轉(zhuǎn)帖|行業(yè)資訊|編輯:龔雪|2016-09-13 10:28:28.000|閱讀 1920 次
概述:本文主要介紹了Aspose.Words組件及其使用方式,Aspose.Words文檔齊全,案例豐富,功能也很多,支持非常完善,是文檔處理軟件的經(jīng)典之作。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Aspose.Words是一個商業(yè).NET類庫,可以使得應用程序處理大量的文件任務。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式。使用Aspose.Words可以在不使用Microsoft.Word的情況下生成、修改、轉(zhuǎn)換和打印文檔。在項目中使用Aspose.Words可以有以下好處。
其豐富的功能特性主要有以下4個方面:
1)格式轉(zhuǎn)換。Aspose.Words具有高質(zhì)量的文件格式轉(zhuǎn)換功能,可以和Doc,OOXL,RTF,TXT等格式互相轉(zhuǎn)換。
2)文檔對象模型。通過豐富的API以編程方式訪問所有的文檔元素和格式,允許創(chuàng)建,修改,提取,復制,分割,加入,和替換文件內(nèi)容。
3)文件渲染。可以在服務器端轉(zhuǎn)換整個文檔或者頁面為PDF,XPS,SWF格式,同樣可以轉(zhuǎn)換文檔頁面為圖像格式,或者.NET Graphics對象,這些功能和Microsoft.Word是一樣的。
4)報表。可以從對象或者數(shù)據(jù)源填充模版生成文件。
Aspose.Words可以在沒有安裝Microsoft Office的機器上工作。所有的Aspose組件都是獨立,不需要微軟公司的授權。總之, Aspose.Words在安全性、穩(wěn)定性、可擴展性、速度、價格和自動化功能方面,是一個很不錯的選擇。
Aspose.Words可以運行在Windows,Linux和Mac OS操作系統(tǒng)上面。可以使用Aspose.Words去創(chuàng)建32位或者64位的.NET應用程序,包括Asp.NET、WCF、WinForm等等,還可以使用Com組件在Asp、Perl、PHP和Python語言中使用,同樣可以在Mono平臺上使用Aspose.Words建立.NET應用程序。
Aspose.Words可以運行在服務器和客戶端,它是一個獨立的.NET程序集,可以被任何.NET應用程序復制和部署。使用Aspose.Words可以在短時間內(nèi)產(chǎn)生成千上萬的文檔,可以打開文檔,并修改格式和內(nèi)容,填充數(shù)據(jù)并保存。Aspose.Words是多線程安全的,不同的線程在同一時間處理不同的文檔。
雖然Aspose.Words擁有150多個公共類和枚舉類型,但是Aspose.Words的學習曲線很小因為Aspose.Words的API是圍繞下列目標精心設計的:
1) 借鑒一些著名的API設計經(jīng)驗,如Microsoft Word。
2) 借鑒.NET框架設計指南的經(jīng)驗。
3) 提供易于使用的詳細的文檔元素操作文檔。 以前在項目中使用Microsoft Word的開發(fā)者,可以在Aspose.Words中找到很多熟悉的類、方法和屬性。
Aspose.Words的文檔對象模型(以下簡稱DOM)是一個Word文檔在內(nèi)存中的映射,Aspose.Words的DOM可以編程讀取、操作和修改Word文檔的內(nèi)容和格式。理解DOM的結構和相應的類型,是使用Aspose.Words靈活編程的基礎,這一點非常重要。下面的一個Word文檔例子和其結構如下圖所示:
spose.Words的DOM讀取時,會創(chuàng)建如下結構的樹形對象:
從上圖的結構和對應的Word文檔,我們可以看到大概的DOM中相關對象的結構,有了這些基本概念,就可以很流程的操作Word文檔了。Document, Section, Paragraph, Table, Shape, Run 以及圖中的其他橢圓形的都是Aspose.Words對象,這些對象具有樹形的層級結構,圖中的注釋同樣說明這些文檔對象樹中的對象具有多個屬性。
Aspose.Words中的DOM有以下特點:
1.所有的節(jié)點(node)類最終都繼承于Node類,它是Aspose.Words DOM的基本類型。
2.節(jié)點可以包含(嵌套)其他節(jié)點,例如Section和Paragraph都繼承自CompositeNode類,而CompositeNode類來源與Node類。
當Aspose.Words讀取Word文檔到內(nèi)存中時,不同類型的文檔元素被不同的類型對象來替代,每一個文本框的text, paragraph, table, section都是Node對象,甚至文檔本身都是一個Node。Aspose.Words為每一種文檔節(jié)點類型都定義了一個類。
下面是一個UML類圖,表示DOM中不同node類型之間的關系。抽象類的名字用斜體表示。注意,Aspose.Words DOM中同樣包括了一些非節(jié)點類型的類,例如Style, PageSetup, Font等等,它們沒有在這幅圖里面顯示。
看看這些主要的類及作用
Aspose.Words類 | 類別 | 描述 |
Document | Document | Document對象是文檔樹的根節(jié)點,提供訪問整個文檔的入口 |
Section | Document | Section對象對應一個文檔中的一節(jié) |
Body | Document | 是一節(jié)中的主要文本容器 |
HeaderFooter | Document | 一節(jié)中的特殊頁眉或者頁腳容器 |
GlossaryDocument | Document | 代表一個Word文檔中詞匯表的根條目 |
BuildingBlock | Document | 代表一個詞匯表文檔,如構件,自動圖文集或一個自動更正條目 |
Paragraph | Text | 一個文本段落,保護內(nèi)聯(lián)的節(jié)點 |
Run | Text | 一個格式一致的文本塊 |
BookmarkStart | Text | 一個書簽的起點標記 |
BookmarkEnd | Text | 一個書簽的結束標記 |
FieldStart | Text | 一個特殊的字符指定一個單詞字段的開始 |
FieldSeparator | Text | 單詞字段的分隔符 |
FieldEnd | Text | 一個特殊的字符指定一個單詞字段的結束 |
FormField | Text | 一個表單字段 |
SpecialChar | Text | 特殊字符類型,沒有具體的 |
Table | Tables | Word文檔中的表格 |
Row | Tables | 一個表格對象的行 |
Cell | Tables | 表格行的單元格 |
Shape | Shapes | Word文檔中的圖像,形狀,文本框或者OLE對象 |
GroupShape | Shapes | 一組Shapes對象 |
DrawingML | Shapes | 一個文檔中的Sharp或者圖像,圖表 |
Footnote | Annotations | 文檔中包括文本的腳注或者尾注 |
Comment | Annotations | 文檔中包含文本的注釋 |
CommentRangeStart | Annotations | 一個相關的注釋區(qū)域的開始 |
CommentRangeEnd | Annotations | 一個相關的注釋區(qū)域的結束 |
SmartTag | Markup | 在一個段落內(nèi)圍繞一個或多個內(nèi)嵌結構的智能標記 |
CustomXmlMarkup | Markup | 文檔中的某些結構的自定義XML標記 |
StructuredDocumentTag | Markup | 文檔中的一種結構化的文檔標簽(內(nèi)容控制) |
OfficeMath | Math | 代表Office的數(shù)學對象,如函數(shù),方程或者矩陣 |
Aspose.Words文檔的結構樹非常重要,下面的設計吐可以更清晰的理解各個節(jié)點之間的包含關系。
文檔和節(jié):
從上圖可以看出:
1.一個Document有1個或者多個Section(節(jié))節(jié)點;
2.Section有1個Body(正文),沒有或者有多個HeaderFooter節(jié)點;
3.Body和HeaderFooter可以包含多個塊級節(jié)點;
4.1個Document能夠有一個GlossaryDocument.1個Word文檔包含1個或多個節(jié),一個節(jié)可以定義自己的頁碼,邊距,方向,以及頁眉頁腳的文字;一個節(jié)保護主要的問題,如頁眉,頁腳(金喜正規(guī)買球,奇數(shù)頁,偶數(shù)頁)。
Block-level節(jié)點的關系圖如下所示:
從上圖中可以看到:
1.Block-level元素可以出現(xiàn)在文檔中的很多地方,如Body的子節(jié)點,腳注,評論,單元格其他元素。
2.最重要的Block-level節(jié)點是表格和段落;
3.1個表格有0行或者多行;CustomXmlMarkup 和StructuredDocumentTag可以包含其他Block-level節(jié)點;
從上面的圖表可以看到下列關系:
1.Paragraph是最經(jīng)常出現(xiàn)的Inline-level節(jié)點;
2.Paragraph可以包含不同的Run格式節(jié)點;也可以包含書簽(bookmarks)和注釋(annotations)
3.Paragraph還可以包含形狀,圖像,繪圖對象等,以及智能標簽;
Table可以包含很多行,行可以包含單元格,單元格可以包括block-level節(jié)點。
Aspose.Words將文檔表示為一個有節(jié)點組成的樹,因此就可以在節(jié)點之間互相切換。Aspose.Words提供了一個“文檔瀏覽器”(DocumentExplorer),這是一個項目例子Demo。
如下圖所示:
可以通過Node類的ParentNode屬性來訪問上級節(jié)點,因此很方便獲取父節(jié)點。文檔對象模型是有大量的對象組合而成,他們的關系如下:
1.Node類是所有節(jié)點類的基類;
2.CompositeNode類是組合節(jié)點的基類;
3.Node類的中,沒有子節(jié)點管理的接口,子節(jié)點管理的方法只出現(xiàn)在CompositeNode;
4.從Node類中移除子節(jié)點管理的方法,更干凈,可以減少很多額外的轉(zhuǎn)換;
基本介紹就介紹到這里,我們可以看到這個組件的功能是非常強大的,特別是文檔的轉(zhuǎn)換保存,操作也很靈活.實在是辦公文檔必備軟件
相關產(chǎn)品詳情可咨詢!
本文轉(zhuǎn)載自:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn