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
- Rozdělit dokumenty Word podle sekcí pomocí C#
- Rozdělit dokumenty Word stránku po stránce pomocí C#
- Použití rozsahu stránek k rozdělení dokumentů aplikace 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.
- Načtěte dokument aplikace Word pomocí třídy Document.
- Procházejte sekcemi stránky pomocí vlastnosti Document.Sections.
- Naklonujte sekci do nového objektu Section.
- Vytvořte nový objekt Document.
- Přidejte sekci do nového Document pomocí metody Document.Sections.Add(Section).
- Uložte dokumenty pomocí metody Document.Save(String).
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.