Saltar al pie de página
USANDO IRONPRINT

Enviar PDF a la Impresora en C# (Tutorial Paso a Paso)

PDF significa "Formato de Documento Portátil". Existen muchos escenarios donde un desarrollador necesita imprimir archivos PDF programáticamente en una aplicación. En C#, esta puede ser una tarea muy tediosa, pero gracias a IronPDF, se ha vuelto muy fácil de hacer con solo unas pocas líneas de código. Esta herramienta nos permite imprimir documentos PDF con configuraciones de impresora por defecto así como con opciones de impresión personalizadas. En este tutorial, aprenderás cómo imprimir PDFs usando el lenguaje C#.

Temas tratados en este tutorial

Los siguientes temas serán cubiertos aquí:

  • La Biblioteca IronPDF
  • Creación de un Proyecto de Consola C#
  • Instalación de IronPDF
    1. Administrador de Paquetes NuGet
    2. Consola del Administrador de Paquetes NuGet
    3. Uso de archivos DLL
  • Añadiendo el Espacio de Nombres de IronPDF
  • Imprimir documentos PDF
    1. Crear un documento PDF e imprimir PDFs
    2. Crear un documento PDF desde URLs e imprimir
    3. Impresión avanzada
  • Resumen

HierroPDF

IronPDF es una biblioteca PDF para el Marco .NET que permite a los desarrolladores crear archivos PDF fácilmente. El renderizado de IronPDF es "perfecto píxel a píxel" para versiones de escritorio de Google Chrome. IronPDF crea fácilmente documentos PDF usando una sola línea de código. Puede procesar documentos PDF sin Acrobat Reader u otros visualizadores de PDF.

IronPDF puede ser usado para crear archivos PDF a partir de cadenas HTML, de archivos HTML o de URLs. Después, puede enviar estos archivos a una impresora por defecto para imprimir.

A free trial of IronPDF is available.

Algunas características importantes de la biblioteca IronPDF

  • Crear documentos PDF desde HTML 4 y 5, CSS y JavaScript
  • Generar documentos PDF desde URLs
  • Imprimir un PDF a una impresora física por defecto
  • Configurar parámetros de impresión (para páginas específicas, etc.)
  • Cargar URLs con credenciales de inicio de sesión de red personalizadas, agentes de usuario, proxies, cookies, encabezados HTTP y campos de formulario o variables, permitiendo así el acceso a páginas web detrás de formularios de inicio de sesión HTML
  • Leer y completar datos de campos de formulario PDF (Formato de Documento Portátil)
  • Extraer imágenes y textos de archivos PDF
  • Firmar digitalmente documentos PDF
  • No se requiere una biblioteca de terceros

1. Crear un proyecto de C

Este tutorial usará Visual Studio 2022, pero también puedes usar versiones anteriores.

  • Crea un nuevo proyecto .NET Core y selecciona Aplicación de Consola.
  • Crea un nuevo proyecto de consola C# .NET. Selecciona la aplicación de consola .NET Core.
How to Send PDFs to Printer Using C#, Figure 1: Aplicación de consola

Aplicación de consola

  • Da un nombre al proyecto, por ejemplo, DemoApp.
  • El Marco .NET 6.0 es la versión más reciente y estable que vamos a usar. Haz clic en el botón "Crear".
How to Send PDFs to Printer Using C#, Figure 2: Marco .NET

Marco .NET

2. Instalar la biblioteca IronPDF

Para instalar la Biblioteca IronPDF podemos usar cualquiera de los métodos listados a continuación:

2.1. Administrador de paquetes NuGet

Podemos instalar la Biblioteca IronPDF C# .NET Core desde el Administrador de Paquetes NuGet.

Abre el Administrador de Paquetes haciendo clic en Herramientas > Administrador de Paquetes NuGet > Administrar Paquetes NuGet para la Solución.

How to Send PDFs to Printer Using C#, Figure 3: Administrador de paquetes

Administrador de paquetes

O, haz clic derecho sobre el proyecto en Explorador de Soluciones y haz clic en Administrar Paquetes NuGet.

How to Send PDFs to Printer Using C#, Figure 4: Administrador de paquetes NuGet - Explorador de soluciones

Administrador de paquetes NuGet - Explorador de soluciones

Busca IronPDF. Selecciona IronPDF y haz clic en Instalar. La biblioteca comenzará a instalarse.

How to Send PDFs to Printer Using C#, Figure 5: Instalar IronPDF

Instalar IronPDF

2.2. Consola del administrador de paquetes NuGet

Abre la Consola del Administrador de Paquetes NuGet haciendo clic en Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes.

Escriba el siguiente comando en la línea de comandos:

Install-Package IronPrint
How to Send PDFs to PRinter Using C#, Figure 6: NuGet Consola de Paquetes

Consola de Paquetes

2.3. Uso de un archivo DLL

Otra manera de usar IronPDF en tu proyecto es añadir un archivo DLL de la biblioteca IronPDF. Puedes descargar el archivo DLL desde este enlace.

  • Descarga el archivo zip del DLL. Extráelo en una carpeta específica.
  • Abre un proyecto en Visual Studio. En el Explorador de Soluciones, haz clic derecho sobre "Referencias" y busca el archivo DLL de IronPDF.

2.4. Agregar el espacio de nombres IronPDF

Una vez finalizada la instalación, añade el espacio de nombres de IronPDF y System.Drawing a tu archivo de programa.

using IronPdf;
using System.Drawing;
using IronPdf;
using System.Drawing;
Imports IronPdf
Imports System.Drawing
$vbLabelText   $csharpLabel

Nota: Debes añadir estas referencias a cada archivo donde desees usar las características de IronPDF.

¡IronPDF está instalado y listo! Ahora podemos crear nuestro primer documento PDF para nuestras aplicaciones .NET Core y enviarlo a la impresora por defecto para imprimir. Veamos algunas de ellas a continuación usando ejemplos de código.

3. Impresión de documentos PDF

3.1. Crear e imprimir un documento PDF desde HTML

Es muy fácil procesar cadenas HTML y convertirlas al formato PDF. Este archivo recién creado puede luego ser impreso usando IronPDF. Aquí está el código que crea fácilmente PDFs.

// Create an instance of ChromePdfRenderer
var chromePdfRenderer = new IronPdf.ChromePdfRenderer();

// Render any HTML fragment to a PDF document
using var pdfDocument = chromePdfRenderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to a PDF file.</p>");

// Send the PDF to the default printer
pdfDocument.Print();

// Create a PrintDocument object that can be used for further configurations
System.Drawing.Printing.PrintDocument printDocument = pdfDocument.GetPrintDocument();
// Create an instance of ChromePdfRenderer
var chromePdfRenderer = new IronPdf.ChromePdfRenderer();

// Render any HTML fragment to a PDF document
using var pdfDocument = chromePdfRenderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to a PDF file.</p>");

// Send the PDF to the default printer
pdfDocument.Print();

// Create a PrintDocument object that can be used for further configurations
System.Drawing.Printing.PrintDocument printDocument = pdfDocument.GetPrintDocument();
' Create an instance of ChromePdfRenderer
Dim chromePdfRenderer = New IronPdf.ChromePdfRenderer()

' Render any HTML fragment to a PDF document
Dim pdfDocument = chromePdfRenderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to a PDF file.</p>")

' Send the PDF to the default printer
pdfDocument.Print()

' Create a PrintDocument object that can be used for further configurations
Dim printDocument As System.Drawing.Printing.PrintDocument = pdfDocument.GetPrintDocument()
$vbLabelText   $csharpLabel

Este código creará un archivo PDF con el contenido HTML pasado en la función RenderHtmlAsPdf. Esta función realiza la conversión de fragmentos HTML a un documento PDF.

Debes estar familiarizado con las etiquetas HTML para generar archivos PDF o páginas PDF usando la biblioteca IronPDF. Usamos la función Print para enviar la salida del archivo PDF a la impresora. El cuadro de diálogo de impresión aparecerá, permitiéndote confirmar el trabajo de impresión.

3.2. Crear e imprimir un documento PDF desde una URL

También puedes crear documentos PDF usando una URL:

// Create an instance of ChromePdfRenderer
var chromePdfRenderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a URL
var pdfDocument = chromePdfRenderer.RenderUrlAsPdf("https://ironpdf.com/");

// Send the PDF to the default printer
pdfDocument.Print();

// Create a PrintDocument object that can be used for further configurations
System.Drawing.Printing.PrintDocument printDocument = pdfDocument.GetPrintDocument();
// Create an instance of ChromePdfRenderer
var chromePdfRenderer = new IronPdf.ChromePdfRenderer();

// Render a PDF from a URL
var pdfDocument = chromePdfRenderer.RenderUrlAsPdf("https://ironpdf.com/");

// Send the PDF to the default printer
pdfDocument.Print();

// Create a PrintDocument object that can be used for further configurations
System.Drawing.Printing.PrintDocument printDocument = pdfDocument.GetPrintDocument();
' Create an instance of ChromePdfRenderer
Dim chromePdfRenderer = New IronPdf.ChromePdfRenderer()

' Render a PDF from a URL
Dim pdfDocument = chromePdfRenderer.RenderUrlAsPdf("https://ironpdf.com/")

' Send the PDF to the default printer
pdfDocument.Print()

' Create a PrintDocument object that can be used for further configurations
Dim printDocument As System.Drawing.Printing.PrintDocument = pdfDocument.GetPrintDocument()
$vbLabelText   $csharpLabel

Aquí, un archivo PDF es creado a partir de una URL especificada y luego impreso.

How to Send PDFs to PRinter Using C#, Figure 7: Imprimir PDF generado desde URL

Imprimir PDF generado desde URL

4. Opciones de impresión avanzadas

IronPDF es versátil y bastante capaz de manejar características de impresión como encontrar una impresora y configurar la resolución de impresión.

4.1 Especificar la impresora

Para especificar la impresora, todo lo que necesitas hacer es obtener el objeto de documento de impresión actual (usando el método GetPrintDocument), luego usar la propiedad PrinterSettings.PrinterName. Puedes elegir cualquier impresora disponible.

using (var printDocument = pdfDocument.GetPrintDocument())
{
    // Specify the printer name
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";

    // Print the document
    printDocument.Print();
}
using (var printDocument = pdfDocument.GetPrintDocument())
{
    // Specify the printer name
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";

    // Print the document
    printDocument.Print();
}
Using printDocument = pdfDocument.GetPrintDocument()
	' Specify the printer name
	printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"

	' Print the document
	printDocument.Print()
End Using
$vbLabelText   $csharpLabel

En el ejemplo de código anterior, se elige "Microsoft Print to PDF" como impresora. Más información sobre configuración de ajustes específicos de impresión se puede encontrar en las páginas de documentación.

4.2 Establecer la resolución de la impresora

También puedes configurar la resolución para imprimir un PDF. La resolución se refiere a la calidad de impresión en términos de número de píxeles. Puedes configurar la resolución de tu documento de impresión usando la propiedad DefaultPageSettings.PrinterResolution del documento PDF.

// Set custom printer resolution
printDocument.DefaultPageSettings.PrinterResolution = new System.Drawing.Printing.PrinterResolution
{
    Kind = System.Drawing.Printing.PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};
// Set custom printer resolution
printDocument.DefaultPageSettings.PrinterResolution = new System.Drawing.Printing.PrinterResolution
{
    Kind = System.Drawing.Printing.PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};
' Set custom printer resolution
printDocument.DefaultPageSettings.PrinterResolution = New System.Drawing.Printing.PrinterResolution With {
	.Kind = System.Drawing.Printing.PrinterResolutionKind.Custom,
	.X = 1200,
	.Y = 1200
}
$vbLabelText   $csharpLabel

4.3 Seguimiento de procesos de impresión mediante C

En el siguiente ejemplo de código, verás cómo cambiar el nombre de la impresora, configurar la resolución, y obtener un conteo de las páginas que fueron impresas.

int printedPages;

using (var printDocument = pdfDocument.GetPrintDocument())
{
    // Specify the printer name
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";

    // Set custom printer resolution
    printDocument.DefaultPageSettings.PrinterResolution = new System.Drawing.Printing.PrinterResolution
    {
        Kind = System.Drawing.Printing.PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };

    // Track number of printed pages
    printedPages = 0;
    printDocument.PrintPage += (sender, args) => printedPages++;

    // Print the document
    printDocument.Print();
}
int printedPages;

using (var printDocument = pdfDocument.GetPrintDocument())
{
    // Specify the printer name
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";

    // Set custom printer resolution
    printDocument.DefaultPageSettings.PrinterResolution = new System.Drawing.Printing.PrinterResolution
    {
        Kind = System.Drawing.Printing.PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };

    // Track number of printed pages
    printedPages = 0;
    printDocument.PrintPage += (sender, args) => printedPages++;

    // Print the document
    printDocument.Print();
}
Dim printedPages As Integer

Using printDocument = pdfDocument.GetPrintDocument()
	' Specify the printer name
	printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"

	' Set custom printer resolution
	printDocument.DefaultPageSettings.PrinterResolution = New System.Drawing.Printing.PrinterResolution With {
		.Kind = System.Drawing.Printing.PrinterResolutionKind.Custom,
		.X = 1200,
		.Y = 1200
	}

	' Track number of printed pages
	printedPages = 0
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: printDocument.PrintPage += (sender, args) => printedPages++;
	AddHandler printDocument.PrintPage, Sub(sender, args) printedPages
	printedPages += 1

	' Print the document
	printDocument.Print()
End Using
$vbLabelText   $csharpLabel

5. Resumen

IronPDF es una solución completa para trabajar con documentos PDF. Proporciona la capacidad de convertir de diferentes formatos a PDF. La manipulación y formateo de archivos PDF se vuelven muy fáciles con las funciones de la biblioteca IronPDF. Todo lo que se requiere son solo unas pocas líneas de código para crear y formatear el archivo PDF. También puede imprimir PDFs programáticamente. Esto se hace enviando un PDF a la impresora por defecto de la computadora. Podemos mostrar ventanas de diálogo de impresión a los usuarios, o podemos imprimir en silencio usando las sobrecargas del método Print.

A free trial of IronPDF is also available to test its full potential to generate and print PDF documents in your applications. Más información sobre licencias se puede encontrar en este enlace.

Además, la oferta especial actual te permite obtener cinco productos de Iron Software por el precio de solo dos.

Preguntas Frecuentes

¿Cómo puedo imprimir un documento PDF programáticamente en C#?

Puedes usar IronPDF para imprimir documentos PDF programáticamente en C#. Utilizando métodos como Print, puedes enviar PDFs a una impresora predeterminada o especificada con opciones de impresión personalizables.

¿Cuáles son los pasos para instalar la biblioteca PDF para imprimir en C#?

Para instalar la biblioteca IronPDF, puedes usar el Administrador de Paquetes NuGet en Visual Studio, la Consola del Administrador de Paquetes NuGet o agregar la biblioteca a través de archivos DLL.

¿Puedo crear un PDF desde HTML usando esta biblioteca?

Sí, IronPDF te permite crear un PDF desde HTML usando el método RenderHtmlAsPdf. Esto permite la conversión de HTML, CSS y JavaScript en documentos PDF.

¿Cómo envío un PDF a una impresora específica usando esta biblioteca?

Para enviar un PDF a una impresora específica, puedes configurar la propiedad PrinterSettings.PrinterName del objeto PrintDocument dentro de IronPDF al nombre de la impresora deseada.

¿Qué opciones de impresión avanzadas soporta esta biblioteca?

IronPDF soporta opciones de impresión avanzadas como especificar configuraciones de impresora, ajustar la resolución de impresión y realizar un seguimiento del número de páginas impresas.

¿Es posible establecer resoluciones de impresión personalizadas con esta biblioteca PDF?

Sí, puedes establecer resoluciones de impresión personalizadas usando la propiedad DefaultPageSettings.PrinterResolution del objeto PrintDocument en IronPDF.

¿Cómo puedo renderizar una URL como PDF con esta biblioteca?

Puedes renderizar una URL como PDF usando el método RenderUrlAsPdf de IronPDF, lo que te permite convertir páginas web en documentos PDF.

¿Esta biblioteca ofrece una prueba gratuita?

Sí, IronPDF ofrece una prueba gratuita que permite a los usuarios explorar sus capacidades en la generación e impresión de documentos PDF.

¿Puedo realizar un seguimiento del número de páginas impresas usando esta biblioteca?

Sí, IronPDF te permite realizar un seguimiento del número de páginas impresas accediendo a las propiedades del objeto PrintDocument durante un trabajo de impresión.

¿Con qué plataformas es compatible esta biblioteca de impresión de PDF?

IronPDF es compatible con varias plataformas, incluyendo Windows, macOS, Android e iOS, lo que la hace versátil para diferentes entornos de desarrollo.

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