拆分 Word 文檔

MS Word 文檔被廣泛用於保存和共享信息。在某些情況下,您可能需要從可能位於不同部分或頁面的 Word 文檔中拆分數據。此外,您可能需要將單個文檔的頁面拆分為多個文檔。根據這樣的場景,本文旨在向您展示如何使用 C# 以編程方式拆分 MS Word 文檔。

用於拆分 MS Word 文檔的 C# API

Aspose.Words for .NET 是一個功能強大的文字處理 API,可讓您使用 C# 或 VB.NET 創建和操作 MS Word 文檔。除此之外,它還允許您按部分、頁面或頁面範圍拆分 MS Word 文檔。您可以 下載 API 或使用 NuGet 在您的應用程序中安裝它。

PM> Install-Package Aspose.Words

使用 C# 按部分拆分 Word 文檔

節是指文檔中可以應用不同格式的部分。一個節可以由單個頁面、一系列頁面或整個文檔組成。分節符用於將文檔分成多個部分。以下是使用 Aspose.Words for .NET 根據其部分拆分 Word 文檔的步驟。

以下代碼示例顯示瞭如何使用 C# 將 MS Word 文檔按部分拆分。

// 打開 Word 文檔
Document doc = new Document("document.docx"); 

for (int i = 0; i < doc.Sections.Count; i++)
{
	// 將文檔拆分為更小的部分,在本例中按部分拆分
	Section section = doc.Sections[i].Clone();

  // 創建一個新文檔
	Document newDoc = new Document();
	newDoc.Sections.Clear();

	Section newSection = (Section)newDoc.ImportNode(section, true);
	newDoc.Sections.Add(newSection);

	// 將每個部分保存為單獨的文檔
	newDoc.Save($"splitted_{i}.docx");
}

使用 C# 逐頁拆分 Word 文檔

可能會出現這樣的情況,即 Word 文檔在每一頁上都包含類似類型的信息,例如發票或收據。在這種情況下,您可以拆分文檔的頁面,以便將每張發票保存為單獨的文檔。要逐頁拆分文檔,您可以使用基於 Aspose.Words for .NET 的輔助類 DocumentPageSplitter。您可以簡單地在您的項目中復制類,並按照以下步驟逐頁拆分 Word 文檔。

  • 使用 Document 類加載 Word 文檔。
  • 創建 DocumentPageSplitter 類的對象並使用 Document 對像對其進行初始化。
  • 遍歷文檔的頁面。
  • 使用 DocumentPageSplitter.GetDocumentOfPage(int PageIndex) 方法將每個頁面提取到一個新的 Document 對像中。
  • 使用 Document.Save(String) 方法保存每個文檔。

以下代碼示例顯示瞭如何使用 C# 將 Word 文檔按頁拆分。

// 打開 Word 文檔
Document doc = new Document("Document.docx");

// 創建並初始化文檔分頁器
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// 將每一頁另存為單獨的文檔
for (int page = 1; page <= doc.PageCount; page++)
{
	Document pageDoc = splitter.GetDocumentOfPage(page);
	pageDoc.Save($"spliteed_{page}.docx");
}

使用 C# 按頁面範圍拆分 Word 文檔

您還可以使用 DocumentPageSplitter 類指定頁面範圍以將其從原始文檔中拆分出來。例如,如果您需要將頁面從 2 拆分為 4,只需在 DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex) 方法中指定起始頁和結束頁的索引即可。

以下代碼示例顯示瞭如何使用 C# 從 Word 文檔中拆分頁面範圍。

// 打開 Word 文檔
Document doc = new Document("document.docx");

// 創建並初始化文檔分頁器
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// 獲取頁面範圍
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");

結論

在本文中,您學習瞭如何使用 C# 以編程方式拆分 MS Word 文檔。按節、頁和頁範圍拆分 Word 文檔的方案已與代碼示例一起討論。您可以使用 文檔 探索更多關於 Aspose.Words for .NET 的信息。

也可以看看