COMPARACIóN DE PRODUCTOS

Cómo combinar archivos PDF con iTextSharp

Publicado en 12 de septiembre, 2023
Compartir:

La fusión de documentos PDF es un requisito común en varias aplicaciones de software, como sistemas de gestión de documentos, herramientas de generación de informes, etc. En el ecosistema .NET, los desarrolladores disponen de varias bibliotecas para manipular archivos PDF. iTextSharp e IronPDF son dos opciones populares para trabajar con PDF en aplicaciones C#. En este artículo, exploraremos cómo fusionar PDFs utilizando iTextSharp y lo compararemos con IronPDF para ayudarle a tomar una decisión informada a la hora de elegir una biblioteca para sus necesidades de manipulación de PDF.

Cómo combinar archivos PDF con iTextSharp

Aquí tienes una guía paso a paso sobre cómo fusionar PDFs usando iTextSharp:

  1. Cree un nuevo objeto Document y especifique una ruta base para sus archivos PDF.

  2. Abra el Documento para editarlo.

  3. Defina una matriz de nombres de archivos PDF para fusionar.

  4. Para cada archivo PDF de la lista, cree un PdfReader, añada su contenido al objeto PdfCopy y, a continuación, cierre el PdfReader.

  5. Cierre el Documento, finalizando el PDF fusionado.

IronPDF

Página web de IronPDF es una biblioteca .NET que permite a los desarrolladores crear, modificar e interactuar con documentos PDF dentro de sus aplicaciones C# y .NET. Simplifica las tareas relacionadas con PDF ofreciendo funciones como generación de PDF desde cero, conversión de HTML a PDF, manipulación de PDF(incluyendo la adición, eliminación y modificación de contenidos)Gracias a sus funciones de gestión de formularios interactivos, fusión y división de PDF, cifrado y compatibilidad multiplataforma, es una valiosa herramienta para una amplia gama de aplicaciones que requieren la gestión y generación de documentos PDF.

iTextSharp

iTextSharp ha sido sustituido por iText 7, ya que ha llegado al final de su vida útil(EOL)con sólo correcciones de seguridad a la vista. Es muy recomendable utilizar iText 7 o considerar la transición de los existentes para nuevos proyectos. iText 7 ofrece mejoras significativas, como la conversión de HTML a PDF, la redacción de PDF, la compatibilidad con SVG, un mejor soporte de idiomas, herramientas de depuración, extracción de datos y más funciones modulares. Simplifica el manejo de documentos PDF y está disponible bajo licencias AGPL y Comercial.

Instalar la biblioteca IronPDF

Para instalar el paquete NuGet de IronPDF en su proyecto de Visual Studio, puede seguir estos pasos:

  1. Comience abriendo el proyecto en Visual Studio en el que desea utilizar la biblioteca IronPDF.

  2. Si utiliza Visual Studio, vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.

  3. En la consola del gestor de paquetes, ejecute el siguiente comando para instalar IronPDF:
Install-Package IronPdf

Visual Studio descargará e instalará el paquete y sus dependencias. Puede supervisar el progreso en la ventana de salida. Una vez completada la instalación, puede empezar a utilizar IronPDF en su código C#.

**Cómo combinar archivos PDF con iTextSharp: Figura 1 - La instalación completa se muestra en el terminal incorporado en Visual Studio.**

Con IronPDF instalado correctamente, ya puede empezar a utilizarlo en su proyecto. Puede incluir las declaraciones "using" necesarias en sus archivos de código y empezar a trabajar con PDF utilizando la funcionalidad de IronPDF. Importe los espacios de nombres necesarios y empiece a trabajar con PDF según sus necesidades.

Using IronPDF;
Using IronPDF;
Dim IronPDF As [Using]
VB   C#

Ahora puede acceder a las características y funcionalidades proporcionadas por IronPDF para trabajar con documentos PDF en su proyecto C#. Recuerda guardar el proyecto y compilarlo para asegurarte de que la biblioteca se integra correctamente.

Instalar la biblioteca PDF iTextSharp

Para instalar la biblioteca iTextSharp PDF en un proyecto C#, siga estos pasos:

  1. Abra el proyecto C# en el que desea utilizar la biblioteca iTextSharp en su entorno de desarrollo integrado preferido(IDE)como Visual Studio.

  2. Vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.

  3. En la consola del gestor de paquetes, ejecute el siguiente comando:
Install-Package iTextSharp

Este comando indica a NuGet(el gestor de paquetes de Visual Studio) para descargar e instalar el paquete iTextSharp y sus dependencias en su proyecto.

NuGet descargará e instalará el paquete iTextSharp y todas las dependencias necesarias. Puede supervisar el progreso de la instalación en la consola del gestor de paquetes.

**Cómo combinar archivos PDF con iTextSharp**: Figura 2 - La instalación completa se muestra en el terminal incorporado en Visual Studio.

Una vez finalizada la instalación, verá un mensaje de confirmación en la consola del gestor de paquetes indicando que el paquete iTextSharp se ha instalado correctamente. Con iTextSharp instalado correctamente, ahora puede empezar a utilizarlo en su proyecto. Puede incluir las declaraciones using necesarias en sus archivos de código y empezar a trabajar con PDFs utilizando la funcionalidad de iTextSharp.

Fusionar PDF en un único documento PDF con IronPDF

IronPDF proporciona un método directo parafusionar varios archivos PDF en un único PDF. IronPDF ofrece una gran flexibilidad a la hora de fusionar documentos PDF en un solo PDF. El siguiente código de ejemplo demuestra la fusión de archivos PDF en un único archivo PDF:

static void Main(string [] args)
{
    string basePath = @"D:\PDFFiles\";
    string [] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };
    List<PdfDocument> docList = new List<PdfDocument>();
    foreach (string filename in pdfFiles)
    {
        docList.Add(new PdfDocument(basePath + filename));
    }
    var mergedPDF = PdfDocument.Merge(docList);
    mergedPDF.SaveAs(basePath + "mergePDFbyIronPDF.pdf");
}
static void Main(string [] args)
{
    string basePath = @"D:\PDFFiles\";
    string [] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };
    List<PdfDocument> docList = new List<PdfDocument>();
    foreach (string filename in pdfFiles)
    {
        docList.Add(new PdfDocument(basePath + filename));
    }
    var mergedPDF = PdfDocument.Merge(docList);
    mergedPDF.SaveAs(basePath + "mergePDFbyIronPDF.pdf");
}
Shared Sub Main(ByVal args() As String)
	Dim basePath As String = "D:\PDFFiles\"
	Dim pdfFiles() As String = { "PdfFile_1.pdf", "PdfFile_2.pdf" }
	Dim docList As New List(Of PdfDocument)()
	For Each filename As String In pdfFiles
		docList.Add(New PdfDocument(basePath & filename))
	Next filename
	Dim mergedPDF = PdfDocument.Merge(docList)
	mergedPDF.SaveAs(basePath & "mergePDFbyIronPDF.pdf")
End Sub
VB   C#

El código anterior utiliza la biblioteca IronPDF para fusionar dos archivos PDF("PdfFile_1.pdf" y "PdfFile_2.pdf") situado en la ruta base especificada("D:\PDFFiles"). Crea una lista de objetos PdfDocument, añade los PDF de entrada a la lista y los fusiona en un único PDF utilizando PdfDocument.Merge, y guarda el PDF fusionado como "mergePDFbyIronPDF.pdf" en la misma ruta base.

A continuación se muestran los PDF de muestra utilizados en este ejemplo:

**Cómo combinar archivos PDF con iTextSharp**: Figura 3 - Un archivo PDF sencillo, con un título Un archivo PDF sencillo y algo de texto debajo, junto con un artículo PDF de una sola página.

A continuación se muestra el archivo PDF fusionado:

**Cómo combinar archivos PDF con iTextSharp**: Figura 4 - El PDF combinado, con el PDF simple primero y el artículo después.

Combinar varios archivos PDF con iTextSharp

iTextSharp no proporciona un método directo para combinar archivos PDF. Sin embargo, podemos conseguirlo abriendo cada PDF de entrada y añadiendo su contenido al documento de salida. El siguiente código de ejemplo fusiona archivos PDF en un único documento PDF:

static void Main(string [] args)
{
    Document doc = new Document();
    string basePath = @"D:\PDFFiles\";
    PdfCopy copy = new PdfCopy(doc, new FileStream(basePath + "mergePdf.pdf", FileMode.Create));
    doc.Open();

    string [] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };

    foreach (string filename in pdfFiles)
    {
        PdfReader reader = new PdfReader(basePath + filename);
        copy.AddDocument(reader);
        reader.Close();
    }

    doc.Close();
}
static void Main(string [] args)
{
    Document doc = new Document();
    string basePath = @"D:\PDFFiles\";
    PdfCopy copy = new PdfCopy(doc, new FileStream(basePath + "mergePdf.pdf", FileMode.Create));
    doc.Open();

    string [] pdfFiles = { "PdfFile_1.pdf", "PdfFile_2.pdf" };

    foreach (string filename in pdfFiles)
    {
        PdfReader reader = new PdfReader(basePath + filename);
        copy.AddDocument(reader);
        reader.Close();
    }

    doc.Close();
}
Shared Sub Main(ByVal args() As String)
	Dim doc As New Document()
	Dim basePath As String = "D:\PDFFiles\"
	Dim copy As New PdfCopy(doc, New FileStream(basePath & "mergePdf.pdf", FileMode.Create))
	doc.Open()

	Dim pdfFiles() As String = { "PdfFile_1.pdf", "PdfFile_2.pdf" }

	For Each filename As String In pdfFiles
		Dim reader As New PdfReader(basePath & filename)
		copy.AddDocument(reader)
		reader.Close()
	Next filename

	doc.Close()
End Sub
VB   C#

El código anterior utiliza iTextSharp para fusionar dos archivos PDF("PdfFile_1.pdf" y "PdfFile_2.pdf") desde la ruta base especificada("D:\PDFFiles") en un único PDF llamado "mergePdf.pdf". Para ello, abre cada PDF de entrada, añade su contenido al documento de salida y, a continuación, cierra los documentos. El código anterior fusionará varios PDF en uno solo.

Hemos utilizado dos archivos de entrada

**Cómo combinar archivos PDF con iTextSharp**: Figura 5 - Los mismos PDF de entrada que antes.

El nuevo archivo creado por nuestro código es el siguiente:

**Cómo combinar archivos PDF con iTextSharp**: Figura 6 - El PDF combinado, con el PDF simple primero y el artículo después.

Conclusión

Encomparación con iTextSharpIronPDF se perfila como la mejor opción para combinar documentos PDF en aplicaciones C#. Aunque ambas bibliotecas son capaces, IronPDF ofrece una interfaz más fácil de usar, funciones modernas como la conversión de HTML a PDF, opciones de licencia claras, integración directa a través de NuGet y desarrollo activo, lo que en conjunto simplifica el proceso de fusión, reduce el tiempo de desarrollo y garantiza una solución más fiable para las tareas relacionadas con PDF. Su interfaz fácil de usar, su sólido conjunto de funciones y su desarrollo continuo hacen de IronPDF la solución superior para combinar archivos PDF en C#.

< ANTERIOR
iTextsharp HTML a PDF con Estilos CSS C# Ejemplo vs IronPDF
SIGUIENTE >
Comparación entre Adobe Reader SDK en C# e IronPDF

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,622,374 Ver licencias >