Saltar al pie de página
COMPARACIONES DE PRODUCTOS

Cómo Imprimir un Archivo PDF Usando PDFSharp

La funcionalidad de impresión es un aspecto crítico de las bibliotecas de manipulación de PDF, lo que permite a los desarrolladores generar documentos impresos de alta calidad directamente desde sus aplicaciones. En este artículo, compararemos las capacidades de impresión de dos bibliotecas populares, IronPDF y PDFSharp, en el contexto del desarrollo en C# o .NET. Exploraremos las fortalezas y limitaciones de cada biblioteca, arrojando luz sobre sus enfoques para imprimir archivos PDF.

PDFsharp

PDFsharp es la biblioteca .NET de código abierto que crea y procesa fácilmente documentos PDF sobre la marcha desde cualquier archivo de programa de lenguaje .NET. Las mismas rutinas de dibujo se pueden usar para crear documentos, dibujar en la pantalla o enviar la salida a cualquier nombre de impresora IP arbitraria.

HierroPDF

IronPDF es una biblioteca popular para C# .NET que permite a los desarrolladores trabajar con archivos PDF de manera versátil y eficiente. Ofrece un conjunto completo de funcionalidades para crear, leer, modificar y convertir documentos PDF, haciéndolo una solución todo en uno para tareas relacionadas con PDF. Una de sus características clave es la capacidad de convertir contenido HTML a PDF, lo que lo hace ideal para generar PDFs a partir de páginas web y contenido dinámico. IronPDF también admite funciones avanzadas como agregar marcas de agua, firmas digitales, anexos postales y campos de formulario interactivos a PDFs. Con su API fácil de usar y su rendimiento robusto, IronPDF se ha convertido en una opción preferida entre los desarrolladores para la manipulación de PDF sin problemas en el entorno de C#.

¿Cómo imprimir archivos PDF usando PDFsharp?

PDFsharp no proporciona ninguna función para imprimir archivos PDF. Sin embargo, podemos usar Acrobat con PDFsharp para imprimir documentos PDF. Tenga en cuenta que no podrá imprimir archivos PDF usando Acrobat en la última versión de PDFsharp. Necesita instalar la versión 1.3.0 de PDFsharp para imprimir los documentos PDF en C# .NET. Debe tener instalado Adobe Reader en su máquina. Si no tiene un Adobe Reader instalado, puede descargar e instalar uno.

Cómo imprimir un archivo PDF usando PDFsharp: Figura 1 - Adobe Reader

Instalar la biblioteca PDFsharp

Instalar la biblioteca PDFsharp es un proceso sencillo. PDFsharp está disponible como un paquete NuGet, que le permite agregarlo fácilmente a su proyecto C# o .NET. Aquí están los pasos para instalar PDFsharp usando NuGet:

  1. Cree o abra un proyecto en el que desee usar la biblioteca PDFsharp.
  2. En Visual Studio, haga clic derecho en la solución de su proyecto en el Explorador de Soluciones. Luego, seleccione "Administrar paquetes NuGet para la solución..." del menú contextual.
  3. En el Administrador de paquetes NuGet, verá una pestaña "Examinar". Escriba "PDFsharp" en la barra de búsqueda y presione Enter. Esto mostrará una lista de los paquetes PDFsharp disponibles.

Cómo imprimir un archivo PDF usando PDFsharp: Figura 2 - PDFsharp

  1. De los resultados de búsqueda del foro, elija el paquete PdfSharp y seleccione la versión 1.3.0.
  2. Después de seleccionar el paquete y la versión, haga clic en el botón "Instalar" para agregarlo a su proyecto. NuGet se encargará de descargar e instalar la biblioteca PDFsharp junto con cualquier dependencias.
  3. Con PDFsharp instalado en su proyecto, puede comenzar a utilizar sus clases y métodos para trabajar con documentos PDF en su código C# o .NET.

Imprimir documento PDF con PDFsharp

La impresión de PDF con PDFsharp no es una tarea simple. Necesitamos Adobe Acrobat Reader instalado en su sistema. PDFsharp no proporciona ninguna función para imprimir archivos PDF. Primero comenzaremos el proceso de Adobe Reader usando PDFsharp y luego imprimiremos el documento usando el proceso de Adobe Reader.

La siguiente línea de código demuestra el ejemplo de impresión de un archivo PDF:

internal class Program
{
    static void Main(string[] args)
    {
        // Set the path to the Adobe Acrobat Reader executable
        PdfFilePrinter.AdobeReaderPath = @"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe";

        // Create a PdfFilePrinter object with the path to the PDF and printer name
        PdfFilePrinter printer = new PdfFilePrinter(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF");

        try
        {
            // Print the PDF document
            printer.Print();
        }
        catch (Exception ex) // Catch any exceptions during printing
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        // Set the path to the Adobe Acrobat Reader executable
        PdfFilePrinter.AdobeReaderPath = @"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe";

        // Create a PdfFilePrinter object with the path to the PDF and printer name
        PdfFilePrinter printer = new PdfFilePrinter(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF");

        try
        {
            // Print the PDF document
            printer.Print();
        }
        catch (Exception ex) // Catch any exceptions during printing
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Set the path to the Adobe Acrobat Reader executable
		PdfFilePrinter.AdobeReaderPath = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe"

		' Create a PdfFilePrinter object with the path to the PDF and printer name
		Dim printer As New PdfFilePrinter("D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF")

		Try
			' Print the PDF document
			printer.Print()
		Catch ex As Exception ' Catch any exceptions during printing
			Console.WriteLine("Error: " & ex.Message)
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel
  • El PdfFilePrinter.AdobeReaderPath establece la ruta al ejecutable de Acrobat Reader (Acrobat.exe) en su sistema. Le indica al PdfFilePrinter dónde encontrar la aplicación Acrobat, que se necesita para el proceso de impresión. Asegúrese de agregar la ruta correcta, de lo contrario no funcionará.
  • Se crea un nuevo objeto PdfFilePrinter. El constructor toma dos argumentos: El primer argumento es la ruta al archivo PDF que desea imprimir. El segundo argumento es el nombre de la impresora a la que desea enviar el trabajo de impresión ("Microsoft Print To PDF" en este caso). Puede reemplazar este con el nombre de su impresora deseada.
  • El código intenta imprimir el documento PDF utilizando el método Print de PdfFilePrinter. Está encerrado en un bloque try-catch para manejar cualquier excepción que pueda ocurrir durante el proceso de impresión. Si ocurre una excepción, el mensaje de error se mostrará en la consola.
  • Cuando ejecute el programa, Adobe Acrobat Reader abrirá e imprimirá el documento.

Cómo imprimir un archivo PDF usando PDFsharp: Figura 3 - Diálogo de Guardar Archivo

Instalar el paquete NuGet de IronPDF

Instalar IronPDF en su proyecto es un proceso muy sencillo.

  1. Inicie Visual Studio 2022 y abra su proyecto C# o cree uno nuevo si aún no lo ha hecho.
  2. Haga clic derecho en su proyecto en el Explorador de Soluciones. Luego, seleccione "Administrar paquetes NuGet..." del menú contextual.
  3. En la ventana del Administrador de paquetes NuGet, asegúrese de estar en la pestaña "Examinar". Escriba "IronPDF" en la barra de búsqueda.
  4. De los resultados de búsqueda, encuentre el paquete IronPdf ofrecido por Iron Software, y haga clic en él para seleccionarlo.
  5. En el lado derecho de la ventana "Administrador de Paquetes NuGet", verá una lista de proyectos en su solución. Elija el(los) proyecto(s) donde desea instalar el paquete. Típicamente, seleccionará el proyecto principal donde estará trabajando con documentos PDF.

Cómo imprimir un archivo PDF usando PDFSharp: Figura 4 - Paquete `IronPdf`

  1. Después de seleccionar el(los) proyecto(s), haga clic en el botón "Instalar" para agregar el paquete IronPdf a su(s) proyecto(s). NuGet descargará e instalará el paquete junto con cualquier dependencia requerida.

using IronPdf; Ahora ha instalado con éxito el paquete NuGet de IronPDF en su proyecto C# de Visual Studio 2022, y puede comenzar a usar sus clases y métodos para trabajar con documentos PDF.

Imprima un documento PDF con IronPDF

Imprimir un archivo PDF usando IronPDF es una tarea bastante simple. A diferencia de PDFsharp, IronPDF proporciona una función para imprimir el documento PDF. IronPDF proporciona configuraciones de impresión y otros métodos requeridos para imprimir documentos. No necesitamos usar ningún otro proceso o biblioteca de terceros. La siguiente línea de código demuestra el ejemplo de impresión de un archivo PDF usando IronPDF.

static void Main(string[] args)
{
    // Create a new PDF document from the specified file path
    PdfDocument pdfDocument = new PdfDocument(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf");

    // Print the PDF document using the default printer
    pdfDocument.Print();
}
static void Main(string[] args)
{
    // Create a new PDF document from the specified file path
    PdfDocument pdfDocument = new PdfDocument(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf");

    // Print the PDF document using the default printer
    pdfDocument.Print();
}
Shared Sub Main(ByVal args() As String)
	' Create a new PDF document from the specified file path
	Dim pdfDocument As New PdfDocument("D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf")

	' Print the PDF document using the default printer
	pdfDocument.Print()
End Sub
$vbLabelText   $csharpLabel
  • La primera línea crea una nueva instancia de la clase PdfDocument de IronPDF con un documento PDF de la ruta de archivo especificada. La ruta apunta a la ubicación del archivo PDF que desea imprimir ("SamplePDF.pdf" en este caso). La clase PdfDocument representa un documento PDF con el que puede trabajar usando IronPDF.
  • Después de cargar el documento PDF, se llama al método Print en la instancia de PdfDocument. En el contexto de IronPDF, el método Print envía el documento PDF a la impresora predeterminada instalada en la máquina, iniciando el proceso de impresión.
  • Suponga que nuestra impresora predeterminada es Microsoft Print to PDF. En este caso, el código anterior abre el diálogo de Guardar archivo durante la ejecución.

Cómo imprimir un archivo PDF usando PDFsharp: Figura 5 - Guardar Archivo

También puede especificar una impresora diferente usando el siguiente código:

// Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer";
// Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer";
' Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer"
$vbLabelText   $csharpLabel
  • Esta línea configura el trabajo de impresión para usar una impresora especificada diferente a la predeterminada estableciendo la propiedad PrinterName en los PrinterSettings.

Conclusión

IronPDF y PDFsharp son bibliotecas poderosas para trabajar con archivos PDF en C# o .NET. Sin embargo, IronPDF ofrece una solución más moderna y enriquecida en funcionalidades, proporcionando funcionalidades para crear, leer, modificar y convertir PDFs, junto con soporte para la conversión de HTML a PDF. La API directa de IronPDF y su enfoque simplificado facilitan a los desarrolladores trabajar con PDFs directamente dentro de sus aplicaciones. Por otro lado, PDFsharp, aunque es capaz, requiere una aplicación externa como Acrobat para ciertas tareas, como la impresión de PDFs, haciéndolo comparativamente menos conveniente para manejar todo el flujo de trabajo de PDF.

IronPDF es gratuito para el desarrollo y viene con una prueba gratuita para uso comercial.

Por favor notaPDFSharp es una marca registrada de su respectivo propietario. Este sitio no está afiliado con, endosado por, o patrocinado por PDFSharp. Todos los nombres de productos, logotipos y marcas son propiedad de sus respectivos propietarios. Las comparaciones son sólo para fines informativos y reflejan información disponible públicamente al momento de escribir.

Preguntas Frecuentes

¿Cómo puedo imprimir un PDF en C# sin perder el formato?

Puedes usar IronPDF para imprimir PDFs sin perder el formato. IronPDF proporciona funciones de impresión integradas que no requieren aplicaciones de terceros, asegurando que el formato del documento se preserve.

¿Cuáles son las principales diferencias entre IronPDF y PDFSharp?

IronPDF ofrece un conjunto completo de funcionalidades, incluyendo conversión de HTML a PDF y capacidades de impresión integradas. PDFSharp, por otro lado, requiere Adobe Acrobat Reader para imprimir ya que carece de funciones de impresión integradas.

¿Cómo conviertes HTML a PDF en C#?

Con IronPDF, puedes convertir HTML a PDF utilizando el método RenderHtmlAsPdf. Esto permite una fácil conversión de cadenas o archivos HTML al formato PDF.

¿Es posible añadir marcas de agua a documentos PDF en C#?

Sí, IronPDF te permite añadir marcas de agua a documentos PDF utilizando su API. Esta función te permite personalizar y asegurar tus documentos de manera efectiva.

¿Cómo instalo IronPDF usando NuGet?

Para instalar IronPDF a través de NuGet, abre Visual Studio, haz clic derecho en tu proyecto, selecciona 'Administrar Paquetes NuGet...', busca 'IronPDF', elige tu proyecto y haz clic en 'Instalar'.

¿IronPDF admite firmas digitales en documentos PDF?

Sí, IronPDF admite la adición de firmas digitales a documentos PDF, mejorando la seguridad y autenticidad de archivos importantes.

¿Puedo especificar una impresora diferente al imprimir un PDF usando IronPDF?

Sí, IronPDF te permite especificar una impresora diferente configurando la propiedad PrinterName en PrinterSettings del PdfDocument.

¿Es IronPDF gratuito para propósitos de desarrollo?

IronPDF es gratuito para desarrollo y ofrece una prueba para uso comercial, haciéndolo accesible para pruebas e integración en proyectos.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más