Rozdělit dokumenty Word

Dokumenty MS Word se široce používají k uchovávání a sdílení informací. V některých případech může být nutné rozdělit data z dokumentu aplikace Word, která by mohla být umístěna v různých částech nebo stránkách. Také může být nutné rozdělit stránky jednoho dokumentu do více dokumentů. V souladu s takovými scénáři si tento článek klade za cíl ukázat vám, jak programově rozdělit dokumenty MS Word pomocí C#.

C# API pro rozdělení dokumentů MS Word

Aspose.Words for .NET je výkonné rozhraní API pro zpracování textu, které umožňuje vytvářet a manipulovat s dokumenty MS Word pomocí C# nebo VB.NET. Spolu s tím také umožňuje rozdělit dokumenty MS Word podle sekce, stránky nebo rozsahu stránek. Rozhraní API si můžete stáhnout nebo jej nainstalovat do své aplikace pomocí NuGet.

PM> Install-Package Aspose.Words

Rozdělit dokumenty Word podle sekcí pomocí C#

Sekce odkazují na části dokumentu, kde lze použít různé formátování. Sekce se může skládat z jedné stránky, řady stránek nebo celého dokumentu. Konce oddílů se používají k rozdělení dokumentu na více oddílů. Následují kroky k rozdělení dokumentu aplikace Word na základě jeho částí pomocí Aspose.Words for .NET.

Následující ukázka kódu ukazuje, jak rozdělit dokumenty MS Word podle sekcí pomocí C#.

// Otevřete dokument aplikace Word
Document doc = new Document("document.docx"); 

for (int i = 0; i < doc.Sections.Count; i++)
{
	// Rozdělte dokument na menší části, v tomto případě rozdělené podle sekcí
	Section section = doc.Sections[i].Clone();

  // Vytvořte nový dokument
	Document newDoc = new Document();
	newDoc.Sections.Clear();

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

	// Uložte každou sekci jako samostatný dokument
	newDoc.Save($"splitted_{i}.docx");
}

Rozdělit dokumenty Word stránku po stránce pomocí C#

Může nastat případ, kdy dokument aplikace Word obsahuje na každé stránce podobný typ informací, jako jsou faktury nebo účtenky. V takovém případě můžete stránky dokumentu rozdělit a uložit tak každou fakturu jako samostatný dokument. Pro rozdělení dokumentů stránku po stránce můžete použít pomocnou třídu DocumentPageSplitter založenou na Aspose.Words for .NET. Můžete jednoduše zkopírovat třídu ve svém projektu a rozdělit dokumenty Word stránku po stránce podle níže uvedených kroků.

  • Načtěte dokument aplikace Word pomocí třídy Document.
  • Vytvořte objekt třídy DocumentPageSplitter a inicializujte jej pomocí objektu Document.
  • Procházejte stránky dokumentu.
  • Extrahujte každou stránku do nového objektu Document pomocí metody DocumentPageSplitter.GetDocumentOfPage(int PageIndex).
  • Uložte každý dokument pomocí metody Document.Save(String).

Následující ukázka kódu ukazuje, jak rozdělit dokument aplikace Word podle stránek pomocí jazyka C#.

// Otevřete dokument aplikace Word
Document doc = new Document("Document.docx");

// Vytvořte a inicializujte rozdělovač stránek dokumentu
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Uložte každou stránku jako samostatný dokument
for (int page = 1; page <= doc.PageCount; page++)
{
	Document pageDoc = splitter.GetDocumentOfPage(page);
	pageDoc.Save($"spliteed_{page}.docx");
}

Rozdělit dokumenty Word podle rozsahu stránek pomocí C#

Můžete také určit rozsah stránek a oddělit jej od původního dokumentu pomocí třídy DocumentPageSplitter. Pokud například potřebujete rozdělit stránky ze 2 na 4, stačí zadat index počáteční a koncové stránky v metodě DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex).

Následující ukázka kódu ukazuje, jak rozdělit rozsah stránek z dokumentu Word pomocí C#.

// Otevřete dokument aplikace Word
Document doc = new Document("document.docx");

// Vytvořte a inicializujte rozdělovač stránek dokumentu
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Získejte rozsah stránek
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");

Závěr

V tomto článku jste se naučili, jak programově rozdělit dokumenty MS Word pomocí C#. Scénáře rozdělení dokumentů aplikace Word podle oddílů, stránek a rozsahů stránek byly diskutovány spolu s ukázkami kódu. Více o Aspose.Words for .NET můžete prozkoumat pomocí dokumentace.

Viz také