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 documentos de Word
- Dividir un DOCX/DOC de Word usando Java
- Use el rango de páginas para dividir el documento de Word
- Dividir documento de Word por secciones
- Obtenga una licencia de API gratuita
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.
- Cargue el documento de Word usando la clase Document.
- Cree un objeto de PageSplitter e inicialícelo con el objeto Document.
- Recorra las páginas del documento.
- Utilice el método PageSplitter.getDocumentOfPage(Int pageIndex) para recuperar cada página en un objeto Document.
- Guarde el documento usando el método Document.save(String).
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.
- Cargue el documento de Word usando la clase Document.
- Cree un objeto de PageSplitter e inicialícelo con el objeto Document.
- Utilice el método PageSplitter.getDocumentOfPageRange(Int, Int) para recuperar la colección de páginas en un objeto Document.
- Guarde el documento usando el método Document.save(String).
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.
- Cargue el documento de Word usando la clase Document.
- Recorra cada sección del documento usando el método Document.getSections().
- Clone la sección en un objeto Section usando el método Document.getSections().get(index).deepClone().
- Cree un nuevo documento y agregue una sección clonada al documento usando el método Document.getSections().add(Section).
- Guarde el documento usando el método Document.save(String).
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.