¿Le preocupa fusionar o dividir documentos de varios tipos en múltiples plataformas? Podría haber muchas declaraciones en su mente:

  • ¿Cómo fusionar documentos PDF en Java?
  • Quiere dividir documentos de Word o fusionar hojas de cálculo de Excel.
  • Qué hacer si necesito fusionar presentaciones PPT/PPTX.
  • Muchas preguntas más, la lista puede no terminar.
Dividir o combinar documentos PDF, Word, Excel en Java
GroupDocs.Merger for Java

GroupDocs proporciona una solución de combinación de documentos para todos esos requisitos. Su API de Java le permite combinar documentos y manipular la estructura de documentos en Java en una amplia gama de formatos de documentos admitidos. Además, permite manipular páginas de documentos, transformaciones de páginas, extracción de información de los documentos, generar vistas previas y mucho más.

En este artículo, veremos un poco sobre los siguientes temas:

El ejemplo de código y los pasos que se explican a continuación usan GroupDocs.Merger for Java, por lo que puede descargar o integrarlo en sus aplicaciones basadas en maven con configuraciones pom.xml.

Combinar archivos PDF en Java

Podemos combinar dos o más archivos PDF en tan solo unas pocas líneas de código. A continuación se muestra el fragmento de código de los ejemplos, que se explica por sí mismo y no necesita más aclaraciones, por lo que muestra cómo fusionar varios documentos PDF en Java. Los pasos son muy sencillos si ya has decidido los documentos a unir:

  • Crear una instancia del objeto Merger, con el primer documento con el que se fusionarán otros documentos.
  • Llamar al método join, pasando el documento a merge.
  • Recuperar el método de unión para fusionar más documentos.
  • Llame al método guardar para guardar el resultado final.
  • Eso es todo.
// Set paths for the documents to join together in a single file.
String filePath1 = "document-1.pdf";
String filePath2 = "document-2.pdf";
String filePath3 = "document-3.pdf";
// Merger multiple PDF documents into a single PDF file.
Merger merger = new Merger(filePath1 );
merger.join(filePath2 ); // Joining 2nd Document
merger.join(filePath3 ); // Joining 3rd Document
// Save the merged document.
String filePathOutput = "mergedDocument.pdf";
merger.save(filePathOutput);

Combinar documentos de Excel, Word y PowerPoint en Java

Puede combinar varios documentos de Word, hojas de cálculo de Excel, presentaciones de PowerPoint, de hecho, casi cualquier documento del mismo formato. El código anterior de unión de documentos PDF se puede utilizar para fusionar una amplia variedad de documentos. Al final del artículo, mencionaré la lista de formatos de archivo que se pueden fusionar con el mismo código. Aquí, como ejemplo, muestro cómo, de manera similar, se pueden combinar más de dos documentos de Word en un solo archivo de Word en solo unas pocas líneas de código Java.

// Merger multiple Word documents into a single DOCX file.
Merger merger = new Merger("document1.docx" );
merger.join("document2.docx" ); // Joining 2nd Document
merger.join("document3.docx" ); // Joining 3rd Document
// Save the merged document.
merger.save("mergedDocument.pdf");

Combinar páginas de documentos en Java

Se pueden combinar varios documentos mediante páginas selectivas y también especificando el intervalo de páginas deseado. Su código seguirá siendo similar al mencionado anteriormente, solo un pequeño cambio al configurar sus opciones de fusión usando la clase JoinOptions.

A continuación se muestra el fragmento de código fuente que muestra cómo fusionar documentos especificando ciertas páginas.

// Set the start and end page number in JoinOptions class.
JoinOptions joinOptions = new JoinOptions(1, 2);
// Merge two files with selective pages using join method.
Merger merger = new Merger("document-1.docx");
merger.join("document-2.docx" , joinOptions);
merger.save("merged-Document.docx");

Dividir documentos en varios documentos en Java

Al igual que hemos fusionado los documentos anteriores, también podemos dividir documentos de Word, hojas de cálculo de Excel, presentaciones, archivos PDF y muchos otros documentos rápidamente de diferentes maneras.

  • Dividir por números de página exactos
  • Dividir un documento en varios documentos de varias páginas
  • Dividir por rango de página
  • Dividir por páginas pares e impares

Dividir por números de página exactos

Podemos dividir un documento proporcionando el número exacto de páginas en Java. El siguiente código dividirá un archivo PDF en 3 documentos, cada uno con la página única mencionada.

  • Inicialice el objeto SplitOptions con el archivo de salida y el modo para dividir.
  • Crea una instancia del objeto Merger con el archivo de origen o la transmisión para dividir.
  • Llame al método split para dividir el documento proporcionado y guardarlo.
String filePath = "document.pdf";
String filePathOut = "document\_{0}.{1}";
// Split the document into multiple single page documents.
SplitOptions splitOptions = new SplitOptions(filePathOut, new int\[\] { 3, 6, 8 });
Merger merger = new Merger(filePath);
merger.split(splitOptions);

Dividir documento en documentos de varias páginas

Si tiene un documento con 6 páginas, la pequeña modificación mencionada a continuación en el código anterior dividirá su documento en 3 documentos separados de la siguiente manera:

Nombre del documento Números de página
documento_1 1, 2
documento_2 3, 4, 5
documento_3 6
SplitOptions splitOptions = new SplitOptions(filePathOut,  SplitMode.Interval, new int\[\] { 3, 6 },);

Dividir por rango de página inicial y final

Si desea dividir cualquier documento simplemente proporcionando el rango de páginas, así es como una presentación de Powerpoint se puede dividir en 3 presentaciones de una sola página.

String filePath = "presentation.ppt";
String filePathOut = "presentation\_{0}.{1}";
// Split the presentation into multiple single page presentations.
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 5);
Merger merger = new Merger(filePath);
merger.split(splitOptions)

Dividir por rangos de páginas pares o impares

Puede establecer que los rangos de páginas pares e impares se dividan. Seguir SplitOptions permitirá dividir el documento provisto en múltiples documentos de una página para páginas impares en el rango de 3 a 8.

SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 8, RangeMode.OddPages);

Formatos de documentos admitidos

Como se prometió, aquí está la lista de formatos de documentos que se pueden fusionar o dividir con los ejemplos anteriores. Puede visitar docs en cualquier momento para consultar la lista actualizada.

Tipo de documento Formatos de archivo
Procesamiento de textos DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF, TXT
Hojas de cálculo XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, CSV, TSV
Presentaciones PPT, PPTX, PPS, PPSX, ODP, OTP
Dibujos VSDX, VSDM, VSSX, VSSM, VSTX, VSTM, VDX, VSX, VTX
web HTML, MHT
Lenguajes de descripción de página TEX, XPS
Libros electrónicos y otros PDF, EPUB, ONE

Es bueno verte aquí, puedes contactarnos libremente en el foro en caso de que sientas alguna dificultad o tengas alguna confusión o quieras dar algunas buenas sugerencias.