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 documentos do Word
- Dividir um Word DOCX/DOC usando Java
- Use o intervalo de páginas para dividir o documento do Word
- Dividir documento do Word por seções
- Obtenha licença de API gratuita
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.
- Carregue o documento do Word usando a classe Document.
- Crie um objeto de PageSplitter e inicialize-o com o objeto Document.
- Percorra as páginas do documento.
- Use o método PageSplitter.getDocumentOfPage(Int pageIndex) para recuperar cada página em um objeto Document.
- Salve o documento usando o método Document.save(String).
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.
- Carregue o documento do Word usando a classe Document.
- Crie um objeto de PageSplitter e inicialize-o com o objeto Document.
- Use o método PageSplitter.getDocumentOfPageRange(Int, Int) para recuperar a coleção de páginas em um objeto Document.
- Salve o documento usando o método Document.save(String).
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.
- Carregue o documento do Word usando a classe Document.
- Percorra cada seção do documento usando o método Document.getSections().
- Clone a seção em um objeto Section usando o método Document.getSections().get(index).deepClone().
- Crie um novo Documento e adicione a seção clonada ao documento usando o método Document.getSections().add(Section).
- Salve o documento usando o método Document.save(String).
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.