Cómo imprimir un documento PDF en C# | IronPRINT

How to Print PDF Files in C# 14

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF permite a los desarrolladores de C# imprimir archivos PDF de forma programática directamente en impresoras físicas con una única llamada a un método, ofreciendo un control preciso sobre la configuración de la impresora, la resolución (PPP) y la gestión de documentos para flujos de trabajo de impresión automatizados en aplicaciones .NET.

El envío de archivos PDF a impresoras desde código .NET C# automatiza el proceso de impresión, lo que le permite integrar la funcionalidad de impresión en sus aplicaciones, reducir los esfuerzos manuales y garantizar la coherencia en la producción de documentos. Proporciona un control preciso sobre el proceso de impresión. Esta capacidad es esencial para aplicaciones que generan facturas, informes o cualquier documento que requiera copias físicas sin intervención del usuario.

IronPDF ofrece la opción de imprimir mediante programación en una impresora física en una llamada a método, lo que permite imprimir varios archivos PDF. La resolución de la impresora también se puede especificar con DPI horizontales y verticales configurables. Utilice el método que acepta Microsoft PrinterSettings y PrintController para tener un mayor control sobre el proceso de impresión de PDF. Antes de empezar a imprimir, asegúrese de que ha instalado correctamente IronPDF en su proyecto .NET.

Inicio rápido: Imprimir archivos PDF en .NET con IronPDF

Imprima fácilmente sus documentos PDF utilizando IronPDF con sólo unas pocas líneas de código. Esta guía le muestra cómo integrar rápidamente la impresión PDF en sus aplicaciones .NET. Con IronPDF, puede enviar archivos directamente a las impresoras con una configuración mínima, mientras disfruta de una configuración flexible y una producción de alta calidad. Comienza ahora y simplifica tu flujo de trabajo de documentos. Para situaciones de impresión más avanzadas, explore nuestra completa guía de PDF de impresión en papel.

  1. Instala IronPDF con el Administrador de Paquetes NuGet

    PM > Install-Package IronPdf
  2. Copie y ejecute este fragmento de código.

    IronPdf.PdfDocument.FromFile("example.pdf").Print();
  3. Despliegue para probar en su entorno real

    Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer


¿Cómo imprimir archivos PDF con IronPDF?

El método Print está disponible a través del objeto PdfDocument, lo que le permite imprimir archivos PDF recién creados y existentes. De forma predeterminada, el método utiliza la impresora predeterminada del sistema, pero puede especificar una impresora diferente pasando su nombre como una cadena al método Print. Esta flexibilidad facilita la integración de la impresión en PDF en los flujos de trabajo existentes, tanto si se generan documentos dinámicamente como si se trabaja con PDF preexistentes.

Por favor notaTodas las funciones de impresión solo son compatibles con Windows.

¿A qué impresoras puedo dirigirme?

IronPDF permite imprimir en cualquier impresora instalada en el sistema Windows, incluidas impresoras de red, impresoras virtuales como "Microsoft Print to PDF" e impresoras físicas conectadas mediante USB o red. Para imprimir específicamente en impresoras de red, consulte nuestra guía de solución de problemas de impresoras de red para obtener más consejos de configuración.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
$vbLabelText   $csharpLabel

¿Qué ocurre cuando envío un PDF a imprimir?

Cuando invoca el método Print, IronPDF envía su documento PDF al administrador de impresión de Windows, que administra la cola de impresión de la impresora seleccionada. El documento aparece en la cola de impresión con detalles como el nombre del archivo, el tamaño y el estado. A continuación, la cola de impresión procesa el documento según las capacidades de la impresora y la posición actual en la cola.

Cola de impresión de Windows mostrando Microsoft Print to PDF con un documento en cola, mostrando el estado del trabajo y los detalles del archivo

¿Cómo puedo controlar la calidad y la resolución de impresión?

Puede especificar la resolución del PDF impreso proporcionando el valor de DPI deseado al método Print, que aplica el mismo DPI para las dimensiones horizontales y verticales. Para usar valores de DPI diferentes, pasa dos parámetros al método: el primero para el DPI horizontal (x) y el segundo para el DPI vertical (y). Los valores de PPP más altos producen impresiones de mejor calidad, pero dan lugar a archivos de mayor tamaño y tiempos de procesamiento más largos.

¿Cuándo debo ajustar la configuración de PPP?

Diferentes escenarios de impresión requieren diferentes configuraciones de PPP. Para documentos de oficina estándar, 150-300 DPI proporcionan una buena calidad. Para gráficos o fotos de alta calidad, utilice 600 DPI o más. Los borradores se pueden imprimir a 72-150 DPI para ahorrar tiempo y recursos. Cuando cree archivos PDF para su visualización digital, consulte nuestra Guía de compresión de PDF para optimizar el tamaño de los archivos.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Set custom DPI
pdf.Print(300);

// Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF");
$vbLabelText   $csharpLabel

¿Qué valores de PPP funcionan mejor para los distintos tipos de impresión?

Veamos cómo rasterizar e imprimir un archivo PDF en el siguiente ejemplo. La elección de la DPI depende de sus necesidades específicas:

  • Documentos de texto: 300 DPI proporciona un texto nítido y legible

  • Contenido mixto (texto e imágenes): 300-400 DPI equilibra la calidad y el tamaño del archivo

  • Fotos de alta calidad: 600 DPI o superior para conservar el detalle de la imagen

  • Impresiones en borrador: 150 DPI para copias de revisión rápidas

  • Calidad de archivo: 1200 DPI para conservación a largo plazo

¿Cómo guardar archivos PDF sin imprimirlos físicamente?

El método PrintToFile rasteriza eficazmente documentos PDF convirtiéndolos en imágenes de mapa de bits (basadas en píxeles) y guardándolos como archivo PDF. Este proceso lo gestiona la impresora integrada de Windows, como "Microsoft Print to PDF". Cabe destacar que este método guarda el PDF en el disco sin enviarlo a una impresora física. Si desea conocer más formas de guardar archivos PDF, consulte nuestra guía completa sobre cómo exportar y guardar archivos PDF.

¿Por qué usar PrintToFile en lugar de guardar regularmente?

PrintToFile ofrece ventajas únicas cuando se necesita simular el proceso de impresión sin salida física. Es especialmente útil para crear archivos listos para imprimir, probar diseños de impresión o generar documentos que coincidan exactamente con lo que aparecerían en papel. Este método también puede ayudar cuando se necesita convertir archivos PDF a un formato específico o aplicar transformaciones específicas de la impresora.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Print to file
pdf.PrintToFile("");
$vbLabelText   $csharpLabel

¿Cuáles son las ventajas de la rasterización?

La rasterización mediante PrintToFile ofrece varias ventajas:

  • Aspecto coherente: Garantiza que el PDF tenga un aspecto idéntico en distintos visores

  • Incorporación de fuentes: Convierte el texto en imágenes, eliminando los problemas de compatibilidad de fuentes

  • Security: Hace que el texto no se pueda seleccionar y sea más difícil de extraer

  • Vista previa de impresión: Muestra exactamente cómo aparecerá el documento cuando se imprima

  • Optimización del tamaño del archivo: Puede reducir el tamaño del archivo para gráficos vectoriales complejos

Para trabajar con archivos PDF en memoria sin guardarlos en disco, consulte nuestra guía PDF to MemoryStream.


¿Cómo puedo acceder a la configuración avanzada de la impresora?

Para personalizar las opciones de impresión, utilice el método GetPrintDocument, que acepta objetos Microsoft PrinterSettings y PrintController. Este método devuelve el objeto de documento de impresión actual. PrinterSettings te permite configurar opciones como el rango de páginas y la selección de la impresora, mientras que PrintController permite controlar el proceso de impresión, incluyendo el manejo de excepciones, reporte de progreso, diálogos de impresión, vistas previas de impresión y otras tareas relacionadas. Se proporcionan descripciones detalladas de las opciones PrinterSettings a continuación del ejemplo de código. Para tamaños de papel personalizados, consulte nuestra guía de tamaños de papel personalizados.

¿Qué ajustes puedo configurar?

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs
using IronPdf;
using System.Drawing.Printing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Testing</h1>");

PrinterSettings settings = new PrinterSettings() {
    PrinterName = "Microsoft Print to PDF",

    // Number of Copy
    Copies = 2,

    // Page range to print
    FromPage = 2,
    ToPage = 4,
};

PrintDocument document = pdf.GetPrintDocument(settings);

// Print
document.Print();
$vbLabelText   $csharpLabel

¿Qué controla cada propiedad PrinterSettings?

Comprender cada propiedad PrinterSettings le ayudará a ajustar su flujo de trabajo de impresión:

  • CanDuplex: Indica si la impresora admite la impresión a doble cara. Si true, es posible imprimir en ambas caras del papel; de lo contrario, no se puede.

  • Collate: Especifica si varios archivos PDF o copias de un documento PDF deben cotejarse (organizarse en orden) al imprimirse. Cuando true, la impresora clasifica las copias; cuando false, no lo hace.

  • Copies: Establece el número de copias del documento PDF que se imprimirán. Determina cuántas copias idénticas del documento se imprimirán.

  • DefaultPageSettings: Representa la configuración de página predeterminada de la impresora, incluidos el tamaño del papel, los márgenes y la orientación. Esto es esencial para garantizar que los PDF se impriman correctamente en distintos formatos de papel.

  • Duplex: Especifica el modo de impresión dúplex (a doble cara) que se va a utilizar. Las opciones incluyen Duplex.Default, Duplex.Simplex (una cara), Duplex.Horizontal y Duplex.Vertical.

  • InstalledPrinters: Proporciona una colección de nombres de impresoras instaladas en el sistema. Puedes iterar a través de esta colección para obtener los nombres de las impresoras disponibles.

  • IsDefaultPrinter: indica si la impresora especificada en PrinterName está configurada como la impresora predeterminada en el sistema.

  • IsPlotter: Determina si la impresora es un plotter. Las impresoras plóter se utilizan a menudo para impresión de gran formato, como para planos arquitectónicos o de ingeniería.

  • IsValid: Indica si la configuración de la impresora es válida y puede utilizarse para imprimir archivos PDF.

  • LandscapeAngle: Especifica el ángulo (rotación) de orientación horizontal para la impresora, normalmente 90 grados para vertical.

  • MaximumCopies: Representa el número máximo de copias que se pueden especificar para imprimir PDF.

  • MaximumPage: Especifica el número máximo de páginas que se puede establecer para la impresión o la conversión.

  • MinimumPage: Especifica el número de página mínimo que puede establecerse para la impresión o la conversión.

  • PaperSizes: Proporciona una colección de tamaños de papel compatibles con la impresora. Puedes consultar esta colección para determinar los tamaños de papel disponibles.

  • PaperSources: Ofrece una colección de fuentes de papel o bandejas disponibles para la impresora. Esto puede ser útil al seleccionar la fuente de papel para imprimir archivos PDF.

  • PrinterName: Especifica el nombre de la impresora que se utilizará para la impresión o la conversión.

  • PrinterResolutions: Proporciona una colección de resoluciones de impresora disponibles, lo que permite elegir la calidad de impresión.

  • PrintFileName: Obtiene o establece el nombre del archivo al imprimir en un archivo usando PrintToFile.

  • PrintRange: Especifica el rango de páginas PDF a imprimir, como todas las páginas, un rango específico o una selección. Usa esto para imprimir páginas específicas.

  • FromPage: Especifica el número de página inicial para la impresión o conversión. La impresión comenzará desde esta página.

  • ToPage: Especifica el número de página final para la impresión o conversión. La impresión se detendrá después de llegar a esta página.

  • PrintToFile: Indica si se debe imprimir en un archivo en lugar de en una impresora física. Cuando true, puede especificar la ruta del archivo usando PrintFileName.

  • SupportsColor: Indica si la impresora admite la impresión en color. Si true, se admite la impresión en color; de lo contrario, está limitada a la impresión en blanco y negro (monocromo).

¿Cómo configuro la impresora predeterminada?

Por último, para configurar la impresora predeterminada para imprimir archivos PDF, vaya a la sección "Impresoras y escáneres" de la configuración del equipo. En Windows 10 y 11, vaya a Configuración > Dispositivos > Impresoras y escáneres, haga clic en "Administrar" junto a la impresora que desee y, a continuación, seleccione "Establecer como predeterminada". De este modo, IronPDF utilizará su impresora preferida cuando no se proporcione un nombre de impresora específico. Para crear PDFs desde cero antes de imprimir, explore nuestro tutorial completo de creación de PDF.

Preguntas Frecuentes

¿Cómo puedo imprimir archivos PDF mediante programación en C# .NET?

IronPDF le permite imprimir archivos PDF mediante programación con una sola llamada al método Print(). Simplemente cargue su archivo PDF con IronPdf.PdfDocument.FromFile("ejemplo.pdf").Print() para enviarlo a la impresora predeterminada, o especifique un nombre de impresora para apuntar a una impresora diferente.

¿Qué control tengo sobre la configuración de la impresora al imprimir PDF?

IronPDF proporciona un control preciso sobre la configuración de la impresora, incluida la resolución (PPP), tanto horizontal como vertical. Puede utilizar métodos que acepten Microsoft PrinterSettings y PrintController para obtener un control avanzado sobre el proceso de impresión de PDF.

¿Puedo imprimir en una impresora específica en lugar de la predeterminada?

Sí, IronPDF le permite especificar una impresora diferente pasando su nombre como una cadena al método Print. Por defecto, utiliza la impresora predeterminada del sistema, pero puede utilizar cualquier impresora disponible en su sistema.

¿Es posible imprimir varios archivos PDF automáticamente?

Sí, IronPDF admite la impresión de varios archivos PDF mediante programación, por lo que es ideal para el procesamiento por lotes y los flujos de trabajo automatizados. Esto es especialmente útil para aplicaciones que generan facturas, informes o documentos que requieren copias físicas sin intervención del usuario.

¿Qué plataformas son compatibles con la impresión en PDF?

Aunque IronPDF se centra en aplicaciones .NET, Iron Software también ofrece IronPrint, una biblioteca de impresión dedicada con compatibilidad en plataformas Windows, macOS, Android e iOS para capacidades de impresión más amplias.

¿Cómo puedo empezar a utilizar la impresión en PDF en mi proyecto .NET?

En primer lugar, instale IronPDF en su proyecto .NET y, a continuación, utilice el flujo de trabajo simple: cargue su archivo PDF mediante PdfDocument.FromFile() y llame al método Print(). Para configuraciones avanzadas, utilice el método GetPrintDocument para acceder a más opciones de impresión.

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
Revisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente Principal de Programas - Equipo de la Comunidad .NET
Jeff también es Gerente Principal de Programas para los equipos de .NET y Visual Studio. Es el productor ejecutivo de la serie de conferencias virtuales .NET Conf y anfitrión de 'Fritz and Friends', una transmisión en vivo para desarrolladores que se emite dos veces a la semana donde habla sobre tecnología y escribe código junto con la audiencia. Jeff escribe talleres, presentaciones, y planifica contenido para los eventos de desarrolladores más importantes de Microsoft, incluyendo Microsoft Build, Microsoft Ignite, .NET Conf y la Cumbre de Microsoft MVP.
¿Listo para empezar?
Nuget Descargas 17,803,474 | Versión: 2026.3 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.