Hoy, aprenderemos a combinar PDF, documentos de Word, hojas de cálculo y presentaciones mediante programación usando C#. En una publicación anterior, vimos la fusión y división de documentos usando Java.

combine múltiples archivos pdf, word, excel, ppt usando csharp dotnet

Este artículo también le mostrará los ejemplos de código con respecto a:

Usaré GroupDocs.Merger para .NET en todos los ejemplos a continuación. Antes de continuar, puede obtener la API de cualquiera de las siguientes opciones:

  • Instale el paquete desde NuGet Galería de paquetes.
  • Descargue el MSI o DLL desde la sección de descargas de GroupDocs.

Combinar archivos PDF en C#

Seguir 3 líneas simples de código combina 2 archivos PDF en 1 documento PDF.

  • Comience con el primer documento usando la clase Merger.
  • Llame al método Unirse de la clase Merger y pase el segundo documento a fusionar.
  • Llame al método Guardar para guardar el documento combinado.
// Merge 2 PDF files in C#
using (Merger merger = new Merger(@"document1.pdf"))
{
    merger.Join(@"document2.pdf");
    merger.Save(@"merged.pdf");
}

El método Unirse tiene varios métodos sobrecargados que permiten fusionar documentos o páginas selectivas de diferentes documentos a través de la ruta del archivo, usando una secuencia o una URL remota.

Combinar varios documentos de Word en C#

El código anterior similar permite combinar dos o más archivos de formatos MS Word y OpenDocument sin perder el formato. Solo para dar una idea, puede fusionar .doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott, etc. A continuación se muestra el código de 3 líneas que fusiona dos archivos DOCX de MS Word .

// Merge Word files in C#
using (Merger merger = new Merger(@"c:\\document1.docx"))
{
    merger.Join(@"c:\\document2.docx");
    merger.Save(@"c:\\merged.docx");
}

Fusionar páginas de varios archivos - C#

No solo todo el documento, sino que también podemos fusionar páginas seleccionadas de varios documentos para obtener un solo documento combinado.

// Merge selective pages
string filePath = @"c:\\sample.docx";
string filePath2 = @"c:\\sample2.docx";
string filePathOut = @"c:\\output\\result.docx";

JoinOptions joinOptions = new JoinOptions(1, 4, RangeMode.OddPages);

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.Join(filePath2, joinOptions);
    merger.Save(filePathOut);
}

Combinar hojas de cálculo, presentaciones y otros documentos en C#

Junto con los documentos como PDF y Word, podemos fusionar las presentaciones, hojas de cálculo y muchos otros formatos sin ninguna diferencia. Simplemente cambie el nombre del archivo y escriba en consecuencia en el código anterior, obtendrá su documento fusionado.

using (Merger merger = new Merger(@"filepath1.xxx"))
{
    merger.Join(@"filepath2.xxx");
    merger.Save(@"xyz.xxx");
}

Compruebe primero la compatibilidad con el formato de archivo

Su requisito puede ser un tipo de archivo un poco diferente, por lo que es mejor saber primero si la API admite la fusión del documento requerido o no. El siguiente código obtiene todos los tipos de archivos compatibles con Merger API.

foreach (FileType fileType in FileType
        .GetSupportedFileTypes()
        .OrderBy(fileType => fileType.Extension))
{
    Console.WriteLine(fileType);
}

Aquí está el resultado del código anterior que muestra los formatos de archivo.

Bitmap Image File (.bmp)
Comma Separated Values File (.csv)
Excel Binary Spreadsheet (.xlsb)
Excel Macro-Enabled Add-In (.xlam)
Excel Open XML Macro-Enabled Spreadsheet (.xlsm)
Excel Open XML Macro-Enabled Spreadsheet Template (.xltm)
Excel Open XML Spreadsheet (.xlsx)
Excel Open XML Spreadsheet Template (.xltx)
Excel Spreadsheet (.xls)
Excel Template File (.xlt)
Hypertext Markup Language File (.html)
JPEG Image (.jpeg)
LaTeX Source Document (.tex)
MHTML Web Archive (.mht)
MIME HTML File (.mhtml)
OneNote Document (.one)
Open eBook File (.epub)
OpenDocument Document Template (.ott)
OpenDocument Presentation (.odp)
OpenDocument Presentation Template (.otp)
OpenDocument Spreadsheet (.ods)
OpenDocument Text Document (.odt)
Plain Text File (.txt)
Portable Document Format File (.pdf)
Portable Network Graphic (.png)
PostScript File (.ps)
PowerPoint Open XML Presentation (.pptx)
PowerPoint Open XML Slide Show (.ppsx)
PowerPoint Presentation (.ppt)
PowerPoint Slide Show (.pps)
Rich Text Format File (.rtf)
Tab Separated Values File (.tsv)
Visio Drawing (.vsdx)
Visio Drawing Template (.vstx)
Visio Drawing XML File (.vdx)
Visio Macro-Enabled Drawing (.vsdm)
Visio Macro-Enabled Drawing Template (.vstm)
Visio Macro-Enabled Stencil File (.vssm)
Visio Stencil File (.vssx)
Visio Stencil XML File (.vsx)
Visio Template XML File (.vtx)
Word Document (.doc)
Word Document Template (.dot)
Word Open XML Document (.docx)
Word Open XML Document Template (.dotx)
Word Open XML Macro-Enabled Document (.docm)
Word Open XML Macro-Enabled Document Template (.dotm)
XML Paper Specification File (.xps)

Conozca más sobre la API de fusión de .NET

En caso de que desee obtener más información sobre la API de fusión .NET de GroupDocs, visite la documentación o contáctenos en el foro sobre cualquier consulta.

Gracias.