Documentos do Word divididos

Os documentos do MS Word são amplamente utilizados para manter e compartilhar informações. Em alguns casos, pode ser necessário dividir os dados de um documento do Word que pode estar localizado em diferentes seções ou páginas. Além disso, pode ser necessário dividir as páginas de um único documento em vários documentos. De acordo com esses cenários, este artigo tem como objetivo mostrar como dividir documentos do MS Word programaticamente usando C#.

API C# para dividir documentos do MS Word

Aspose.Words for .NET é uma poderosa API de processamento de texto que permite criar e manipular documentos do MS Word usando C# ou VB.NET. Junto com isso, também permite dividir documentos do MS Word por seção, página ou intervalo de páginas. Você pode baixar a API ou instalá-la em seu aplicativo usando NuGet.

PM> Install-Package Aspose.Words

Dividir documentos do Word por seção usando C#

As seções referem-se às partes de um documento em que uma formatação diferente pode ser aplicada. Uma seção pode ser composta por uma única página, um intervalo de páginas ou o documento inteiro. As quebras de seção são usadas para dividir um documento em várias seções. A seguir estão as etapas para dividir um documento do Word com base em suas seções usando Aspose.Words para .NET.

O exemplo de código a seguir mostra como dividir documentos do MS Word por seções usando C#.

// Abra um documento do Word
Document doc = new Document("document.docx"); 

for (int i = 0; i < doc.Sections.Count; i++)
{
	// Dividir um documento em partes menores, neste caso dividido por seção
	Section section = doc.Sections[i].Clone();

  // Criar um novo documento
	Document newDoc = new Document();
	newDoc.Sections.Clear();

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

	// Salve cada seção como um documento separado
	newDoc.Save($"splitted_{i}.docx");
}

Dividir documentos do Word página por página usando C#

Pode ser o caso quando um documento do Word contém um tipo semelhante de informação em cada página, como faturas ou recibos. Nesse caso, você pode dividir as páginas do documento para salvar cada fatura como um documento separado. Para dividir os documentos página por página, você pode usar a classe auxiliar DocumentPageSplitter baseada em Aspose.Words para .NET. Você pode simplesmente copiar a classe em seu projeto e dividir os documentos do Word página por página seguindo as etapas abaixo.

  • Carregue o documento do Word usando a classe Document.
  • Crie um objeto da classe DocumentPageSplitter e inicialize-o com o objeto Document.
  • Iterar pelas páginas do documento.
  • Extraia cada página em um novo objeto Document usando o método DocumentPageSplitter.GetDocumentOfPage(int PageIndex).
  • Salve cada documento usando o método Document.Save(String).

O exemplo de código a seguir mostra como dividir o documento do Word por páginas usando C#.

// Abra um documento do Word
Document doc = new Document("Document.docx");

// Criar e inicializar o divisor de página do documento
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Salve cada página como um documento separado
for (int page = 1; page <= doc.PageCount; page++)
{
	Document pageDoc = splitter.GetDocumentOfPage(page);
	pageDoc.Save($"spliteed_{page}.docx");
}

Dividir documentos do Word por intervalo de páginas usando C#

Você também pode especificar um intervalo de páginas para dividi-lo do documento original usando a classe DocumentPageSplitter. Por exemplo, se você precisar dividir as páginas de 2 para 4, basta especificar o índice da página inicial e final no método DocumentPageSplitter.GetDocumentOfPageRange(int StartIndex, int EndIndex).

O exemplo de código a seguir mostra como dividir um intervalo de páginas de um documento do Word usando C#.

// Abra um documento do Word
Document doc = new Document("document.docx");

// Criar e inicializar o divisor de página do documento
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Obter o intervalo de páginas
Document pageDoc = splitter.GetDocumentOfPageRange(3, 6);
pageDoc.Save("splitted.docx");

Conclusão

Neste artigo, você aprendeu como dividir documentos do MS Word programaticamente usando C#. Os cenários de divisão de documentos do Word por seções, páginas e intervalos de páginas foram discutidos junto com exemplos de código. Você pode explorar mais sobre o Aspose.Words para .NET usando a documentação.

Veja também