Podziel dokumenty Worda

Dokumenty MS Word są powszechnie używane do przechowywania i udostępniania informacji. W niektórych przypadkach może być konieczne podzielenie danych z dokumentu programu Word, który może znajdować się w różnych sekcjach lub na różnych stronach. Może być również konieczne podzielenie stron jednego dokumentu na wiele dokumentów. Zgodnie z takimi scenariuszami, ten artykuł ma na celu pokazanie, jak programowo podzielić dokumenty MS Word za pomocą C#.

C# API do dzielenia dokumentów MS Word

Aspose.Words for .NET to potężny interfejs API do przetwarzania tekstu, który umożliwia tworzenie dokumentów MS Word i manipulowanie nimi przy użyciu języka C# lub VB.NET. Oprócz tego umożliwia także dzielenie dokumentów MS Word według sekcji, strony lub zakresu stron. Możesz pobrać API lub zainstalować je w swojej aplikacji za pomocą NuGet.

PM> Install-Package Aspose.Words

Podziel dokumenty Word według sekcji za pomocą C#

Sekcje odnoszą się do części dokumentu, w których można zastosować różne formatowanie. Sekcja może składać się z pojedynczej strony, zakresu stron lub całego dokumentu. Podziały sekcji służą do dzielenia dokumentu na wiele sekcji. Poniżej przedstawiono kroki, aby podzielić dokument programu Word na podstawie jego sekcji przy użyciu Aspose.Words dla platformy .NET.

Poniższy przykładowy kod pokazuje, jak podzielić dokumenty MS Word według sekcji przy użyciu języka C#.

// Otwórz dokument Worda
Document doc = new Document("document.docx"); 

for (int i = 0; i < doc.Sections.Count; i++)
{
	// Podziel dokument na mniejsze części, w tym przypadku podziel według sekcji
	Section section = doc.Sections[i].Clone();

  // Utwórz nowy dokument
	Document newDoc = new Document();
	newDoc.Sections.Clear();

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

	// Zapisz każdą sekcję jako osobny dokument
	newDoc.Save($"splitted_{i}.docx");
}

Podziel dokumenty Word strona po stronie za pomocą C#

Może się zdarzyć, że dokument programu Word zawiera podobne informacje na każdej stronie, takie jak faktury lub paragony. W takim przypadku możesz podzielić strony dokumentu, aby każdą fakturę zapisać jako osobny dokument. Do dzielenia dokumentów strona po stronie można użyć klasy pomocniczej DocumentPageSplitter opartej na Aspose.Words dla platformy .NET. Możesz po prostu skopiować klasę w swoim projekcie i podzielić dokumenty Worda strona po stronie, wykonując poniższe kroki.

  • Załaduj dokument programu Word, używając klasy Document.
  • Utwórz obiekt klasy DocumentPageSplitter i zainicjuj go obiektem Document.
  • Przejrzyj strony dokumentu.
  • Wyodrębnij każdą stronę do nowego obiektu Document przy użyciu metody DocumentPageSplitter.GetDocumentOfPage(int PageIndex).
  • Zapisz każdy dokument przy użyciu metody Document.Save(String).

Poniższy przykładowy kod pokazuje, jak podzielić dokument programu Word według stron przy użyciu języka C#.

// Otwórz dokument Worda
Document doc = new Document("Document.docx");

// Utwórz i zainicjuj rozdzielacz stron dokumentu
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Zapisz każdą stronę jako osobny dokument
for (int page = 1; page <= doc.PageCount; page++)
{
	Document pageDoc = splitter.GetDocumentOfPage(page);
	pageDoc.Save($"spliteed_{page}.docx");
}

Podziel dokumenty programu Word według zakresu stron przy użyciu języka C#

Możesz także określić zakres stron, aby oddzielić go od oryginalnego dokumentu za pomocą klasy DocumentPageSplitter. Na przykład, jeśli chcesz podzielić strony od 2 do 4, po prostu określ indeks strony początkowej i końcowej w metodzie DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex).

Poniższy przykładowy kod pokazuje, jak podzielić zakres stron z dokumentu programu Word przy użyciu języka C#.

// Otwórz dokument Worda
Document doc = new Document("document.docx");

// Utwórz i zainicjuj rozdzielacz stron dokumentu
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Pobierz zakres stron
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");

Wniosek

W tym artykule nauczyłeś się, jak programowo dzielić dokumenty MS Word za pomocą C#. Omówiono scenariusze dzielenia dokumentów Worda według sekcji, stron i zakresów stron wraz z przykładami kodu. Możesz dowiedzieć się więcej o Aspose.Words for .NET, korzystając z dokumentacji.

Zobacz też