Aspose.Words For .Net是一種高級Word文檔處理API,用於執行各類文檔管理和操做任務。API支持生成,修改,轉換,呈現和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。此外,API支持全部流行的Word處理文件格式,並容許將Word文檔導出或轉換爲固定佈局文件格式和最經常使用的圖像/多媒體格式。>>下載Aspose.Words for .NET最新試用版編程
接下來咱們將進入「如何使用Aspose.Words以編程方式處理文檔分段」的介紹。在生成文檔時,使用section很是有用。您能夠組合文檔,根據從多個模板文檔複製的多個部分構建輸出文檔,或者根據某些應用程序邏輯刪除不須要的部分,從而有效地將公共模板文檔過濾到特定場景。app
文檔的各節由Section和SectionCollection類表示。Section對象是Document節點的直接子節點,能夠經過Document.Sections屬性訪問。佈局
每一個分段由一個Section對象表示,該對象能夠經過索引從Document.Sections集合中獲取。默認頁邊距、頁眉/頁腳距離和列間距取決於模擬MS Word行爲的當前區域。例如,如今英語(美國)和英語(英國)的全部頁邊距都是1英寸。左,右,上邊距爲2.5釐米; 德國底部邊距爲2釐米。若是沒有爲說起參數設置顯式值,則新默認值用於新文檔和加載文檔。spa
下面的代碼示例顯示瞭如何訪問指定索引處的節:對象
//指向documents目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithSections(); Document doc = new Document(dataDir + "Document.doc"); Section section = doc.Sections[0]; section.PageSetup.LeftMargin = 90; // 3.17 cm section.PageSetup.RightMargin = 90; // 3.17 cm section.PageSetup.TopMargin = 72; // 2.54 cm section.PageSetup.BottomMargin = 72; // 2.54 cm section.PageSetup.HeaderDistance = 35.4; // 1.25 cm section.PageSetup.FooterDistance = 35.4; // 1.25 cm section.PageSetup.TextColumns.Spacing = 35.4; // 1.25 cm
Document對象提供了可使用Document.Sections訪問的節集合。這將返回包含文檔部分的SectionCollection對象。而後,您可使用此對象上的SectionCollection.Add方法將一個節添加到文檔的末尾。下面的代碼示例顯示瞭如何將一個部分添加到文檔的末尾:索引
Document doc = new Document(dataDir); Section sectionToAdd = new Section(doc); doc.Sections.Add(sectionToAdd);
以與上面討論的相同方式,使用Document.Sections檢索文檔的部分。而後,可使用SectionCollection.Remove刪除指定的節或SectionCollection.RemoveAt以刪除指定索引處的節。 下面的代碼示例顯示瞭如何刪除指定索引處的節:ci
Document doc = new Document(dataDir); doc.Sections.RemoveAt(0);
下面的代碼示例展現瞭如何從文檔中刪除全部部分:文檔
Document doc = new Document(dataDir); doc.Sections.Clear();
若是要複製和插入除了節分隔符和節屬性以外的節的主要文本,請使用Section.PrependContent或Section.AppendContent爲要複製的內容傳遞Section對象。若是沒有建立新的分段,頁眉和頁腳不會被複制。前一種方法在該部分的開頭插入內容的副本,然後者在該部分的末尾插入內容的副本。下面的代碼示例顯示瞭如何附加現有部分的內容:get
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithSections(); Document doc = new Document(dataDir + "Section.AppendContent.doc"); // This is the section that we will append and prepend to. Section section = doc.Sections[2]; //複製第1部分的內容並將其插入指定部分的開頭。 Section sectionToPrepend = doc.Sections[0]; section.PrependContent(sectionToPrepend); //複製第二部分的內容並將其插入指定部分的末尾。 Section sectionToAppend = doc.Sections[1]; section.AppendContent(sectionToAppend);
要刪除節的主要文本,請使用Section.ClearContent。要刪除節中的頁眉和頁腳,請調用Section.ClearHeadersFooters。下面的示例顯示瞭如何刪除節的主要內容:string
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithSections(); Document doc = new Document(dataDir + "Document.doc"); Section section = doc.Sections[0]; section.ClearContent();
使用Section.Clone方法建立特定節的副本。下面的示例顯示瞭如何建立特定部分的副本:
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithSections(); Document doc = new Document(dataDir + "Document.doc"); Section cloneSection = doc.Sections[0].Clone();
將一個文檔徹底或部分複製到另外一個文檔是一項很是流行的任務 這是實現這一點的「模式」。在插入來自其餘文檔的任何節點以前,必須使用Document.ImportNode方法導入該節點。該Document.ImportNode方法使原始節點的副本,並更新全部的內部文檔特定的屬性,如清單和樣式,使他們的目標文檔中有效。 下面的示例顯示瞭如何在文檔之間複製分段:
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_WorkingWithSections(); Document srcDoc = new Document(dataDir + "Document.doc"); Document dstDoc = new Document(); Section sourceSection = srcDoc.Sections[0]; Section newSection = (Section)dstDoc.ImportNode(sourceSection, true); dstDoc.Sections.Add(newSection); dataDir = dataDir + "Document.Copy_out.doc"; dstDoc.Save(dataDir);