Dividir documentos do Word Java

Em vários casos, você precisa dividir um documento do MS Word em vários documentos. Por exemplo, pode ser necessário criar um documento separado para cada página, seção ou coleção de páginas em um documento do Word. Para automatizar a divisão de documentos, este artigo aborda como dividir o MS Word DOCX programaticamente usando Java. As seções a seguir fornecem um tutorial passo a passo e exemplos de código dos critérios de divisão mencionados acima.

API Java para dividir o Word DOCX

Aspose.Words for Java é uma API de manipulação de documentos poderosa e rica em recursos que permite criar e processar documentos do MS Word. Além dos recursos básicos e avançados de automação do Word, a API também permite dividir um documento do Word em vários documentos. Você pode baixar a API ou instalá-la em seu aplicativo baseado em Maven usando as seguintes configurações.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.1</version>
    <classifier>jdk17</classifier>
</dependency>

Divisor de documentos do Word - classe auxiliar

Antes de começar a dividir os documentos, você precisaria adicionar a seguinte classe auxiliar ao seu projeto que implementa um divisor de documentos Java baseado em Aspose.Words para Java. Depois de adicionar a classe, você pode continuar a dividir os documentos usando os exemplos de código fornecidos nas seções abaixo.

Dividir um Word DOCX usando Java

Em primeiro lugar, vamos dar uma olhada em como dividir um documento do MS Word por página. Nesse caso, cada página do documento de origem será convertida em um documento do Word separado. A seguir estão as etapas para dividir as páginas de um documento do Word.

O exemplo de código a seguir mostra como dividir um documento do Word usando Java.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-words/Aspose.Words-for-Java
// Abra um documento do Word
Document doc = new Document("Word.docx");

// Dividir nós no documento em páginas separadas
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

// Salve cada página como um documento separado
for (int page = 1; page <= doc.getPageCount(); page++)
{
    Document pageDoc = splitter.getDocumentOfPage(page);
    pageDoc.save("SplitDocumentByPage_" + page + ".docx");
}

Use o intervalo de páginas para dividir o Word DOCX em Java

Você também pode definir um intervalo de páginas que deseja dividir do documento do Word de origem. A seguir estão as etapas para realizar esta operação.

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

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-words/Aspose.Words-for-Java
// Abra um documento do Word
Document doc = new Document("Word.docx");

// Dividir nós no documento em páginas separadas
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
 
// Obter parte do documento
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");

Dividir um documento do Word por seções usando Java

Aspose.Words para Java também permite dividir um documento do Word por quebras de seção. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como dividir um documento do Word por seções usando Java.

// Carregar um documento Word DOCX
Document doc = new Document("word.docx");

for (int i = 0; i < doc.getSections().getCount(); i++) {
	// Dividir um documento em partes menores, neste caso dividido por seção
	Section section = doc.getSections().get(i).deepClone();

	// Criar um novo documento
	Document newDoc = new Document();
	newDoc.getSections().clear();

  	// Adicionar seção
	Section newSection = (Section) newDoc.importNode(section, true);
	newDoc.getSections().add(newSection);

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

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como dividir o MS Word DOCX/DOC usando Java. O guia passo a passo e os exemplos de código mostraram como dividir um documento do Word por seções, páginas ou um intervalo de páginas. Você pode explorar mais sobre a API do Java Word usando documentação.

Veja também