Dividir documentos de Word Java

En varios casos, debe dividir un documento de MS Word en varios documentos. Por ejemplo, es posible que deba crear un documento independiente para cada página, sección o colección de páginas de un documento de Word. Para automatizar la división de documentos, este artículo cubre cómo dividir MS Word DOCX mediante programación usando Java. Las siguientes secciones proporcionan un tutorial paso a paso y ejemplos de código de los criterios de división mencionados anteriormente.

API de Java para dividir Word DOCX

Aspose.Words for Java es una API de manipulación de documentos potente y rica en funciones que le permite crear y procesar documentos de MS Word. Además de las funciones básicas y avanzadas de automatización de Word, la API también le permite dividir un documento de Word en varios documentos. Puede descargar la API o instalarla dentro de su aplicación basada en Maven usando las siguientes configuraciones.

<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 de Word - Clase auxiliar

Antes de comenzar a dividir los documentos, deberá agregar la siguiente clase auxiliar a su proyecto que implementa un divisor de documentos Java basado en Aspose.Words for Java. Una vez que haya agregado la clase, puede proceder a dividir los documentos utilizando los ejemplos de código proporcionados en las secciones a continuación.

Dividir un DOCX de Word usando Java

En primer lugar, echemos un vistazo a cómo dividir un documento de MS Word por página. En este caso, cada página del documento de origen se convertirá en un documento de Word independiente. Los siguientes son los pasos para dividir páginas de un documento de Word.

El siguiente ejemplo de código muestra cómo dividir un documento de Word usando Java.

// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-words/Aspose.Words-for-Java
// Abrir un documento de Word
Document doc = new Document("Word.docx");

// Dividir nodos en el documento en páginas separadas
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);

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

Use el rango de páginas para dividir Word DOCX en Java

También puede definir un rango de páginas que desee dividir del documento de origen de Word. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo dividir un documento de Word por un rango de páginas usando Java.

// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-words/Aspose.Words-for-Java
// Abrir un documento de Word
Document doc = new Document("Word.docx");

// Dividir nodos en el documento en páginas separadas
DocumentPageSplitter splitter = new DocumentPageSplitter(doc);
 
// Obtener parte del documento
Document pageDoc = splitter.getDocumentOfPageRange(3,6);
pageDoc.save("SplitDocumentByPageRange.docx");

Dividir un documento de Word por secciones usando Java

Aspose.Words for Java también le permite dividir un documento de Word por saltos de sección. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo dividir un documento de Word por secciones usando Java.

// Cargar un documento DOCX de Word
Document doc = new Document("word.docx");

for (int i = 0; i < doc.getSections().getCount(); i++) {
	// Divida un documento en partes más pequeñas, en este caso dividido por sección
	Section section = doc.getSections().get(i).deepClone();

	// Crear un nuevo documento
	Document newDoc = new Document();
	newDoc.getSections().clear();

  	// Agregar sección
	Section newSection = (Section) newDoc.importNode(section, true);
	newDoc.getSections().add(newSection);

	// Guarde cada sección como un documento separado
	newDoc.save("splitted_" + i + ".docx");
}

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para probar la API sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido cómo dividir MS Word DOCX/DOC usando Java. La guía paso a paso y los ejemplos de código han mostrado cómo dividir un documento de Word por secciones, páginas o un rango de páginas. Puede explorar más sobre la API de Java Word usando documentación.

Ver también