Aspose.Words實用教程:如何處理文件分段——Aspose.Words中的分段
Aspose.Words For .Net是一種高階Word文件處理API,用於執行各種文件管理和操作任務。API支援生成,修改,轉換,呈現和列印文件,而無需在跨平臺應用程式中直接使用Microsoft Word。此外,API支援所有流行的Word處理檔案格式,並允許將Word文件匯出或轉換為固定佈局檔案格式和最常用的影象/多媒體格式。>>下載Aspose.Words for .NET最新試用版
接下來我們將進入“如何使用Aspose.Words以程式設計方式處理文件分段”的介紹。在生成文件時,使用section非常有用。您可以組合文件,根據從多個模板文件複製的多個部分構建輸出文件,或者根據某些應用程式邏輯刪除不需要的部分,從而有效地將公共模板文件過濾到特定場景。
Aspose.Words中的部分
文件的各節由Section和SectionCollection類表示。Section物件是Document節點的直接子節點,可以通過Document.Sections屬性訪問。
▲獲得一分段
每個分段由一個Section物件表示,該物件可以通過索引從Document.Sections集合中獲取。預設頁邊距、頁首/頁尾距離和列間距取決於模擬MS Word行為的當前區域。例如,現在英語(美國)和英語(英國)的所有頁邊距都是1英寸。左,右,上邊距為2.5釐米; 德國底部邊距為2釐米。如果沒有為提及引數設定顯式值,則新預設值用於新文件和載入文件。
下面的程式碼示例顯示瞭如何訪問指定索引處的節:
//指向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以刪除指定索引處的節。 下面的程式碼示例顯示瞭如何刪除指定索引處的節:
Document doc = new Document(dataDir); doc.Sections.RemoveAt(0);
下面的程式碼示例展示瞭如何從文件中刪除所有部分:
Document doc = new Document(dataDir); doc.Sections.Clear();
▲新增分段內容
如果要複製和插入除了節分隔符和節屬性之外的節的主要文字,請使用Section.PrependContent或Section.AppendContent為要複製的內容傳遞Section物件。如果沒有建立新的分段,頁首和頁尾不會被複制。前一種方法在該部分的開頭插入內容的副本,而後者在該部分的末尾插入內容的副本。下面的程式碼示例顯示瞭如何附加現有部分的內容:
//文件目錄的路徑。 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 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"; ds