USO DE IRONPRINT

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

Chaknith Bin
Chaknith Bin
6 de diciembre, 2022
Compartir:

PDF significa "Formato de Documento Portátil". Hay muchas situaciones en las que un desarrollador necesita imprimir archivos PDF mediante programación en una aplicación. En C#, esto puede ser una tarea muy tediosa, pero gracias a IronPDF, se ha convertido en algo muy fácil de hacer con sólo unas pocas líneas de código. Esta herramienta nos permite imprimir documentos PDF con la configuración predeterminada de la impresora, así como con opciones de impresión personalizadas. En este tutorial, aprenderá a imprimir archivos PDF utilizando el lenguaje C#.

Temas tratados en este tutorial

Se tratarán los siguientes temas

  • La biblioteca IronPDF
  • Creación de un proyecto de consola C
  • Instalación de IronPDF

    1. Gestor de paquetes NuGet

    2. Consola del Gestor de paquetes NuGet

    3. Uso de archivos DLL
  • Añadir el espacio de nombres IronPDF
  • Imprimir documentos PDF

    1. Crear un documento PDF e imprimir PDF

    2. Crear un documento PDF a partir de URL e imprimir

    3. Impresión avanzada
  • Resumen

IronPDF

IronPDF es una biblioteca PDF para .NET Framework que permite a los desarrolladores crear archivos PDF fácilmente. La representación de IronPDF es "pixel-perfect" para las versiones de escritorio de Google Chrome. IronPDF crea fácilmente documentos PDF con una sola línea de código. Puede procesar documentos PDF sin Acrobat Reader u otros visores de PDF.

IronPDF puede utilizarse para crear archivos PDF a partir de cadenas HTML, de archivos HTML o de URL. Después, puede enviar estos archivos a una impresora predeterminada para su impresión.

Una prueba gratuita de IronPDF está disponible.

Algunas características importantes de la biblioteca IronPDF

  • Crear documentos PDF a partir de HTML 4 y 5, CSS y JavaScript
  • Generar documentos PDF a partir de URL
  • Imprimir un PDF en una impresora física predeterminada
  • Establecer configuraciones del trabajo de impresión (para imprimir páginas específicas, etc.).
  • Cargar URL con credenciales de inicio de sesión de red personalizadas, agentes de usuario, proxies, cookies, cabeceras HTTP y campos o variables de formulario, permitiendo así el acceso a páginas web detrás de formularios de inicio de sesión HTML.
  • Leer y llenar datos de campos de formulario PDF (Formato de Documento Portátil)
  • Extraer imágenes y textos de archivos PDF
  • Firme digitalmente documentos PDF
  • No se necesitan bibliotecas de terceros

1. Crear un C# Proyecto

Este tutorial utilizará Visual Studio 2022, pero también puede utilizar versiones anteriores.

  • Abre Visual Studio 2022.
  • Cree un nuevo proyecto de consola C# .NET. Seleccione 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

  • Dale un nombre al proyecto. Por ejemplo, DemoApp.
  • .NET Framework 6.0 es la versión más reciente y estable que vamos a utilizar. Haga clic en el botón "Crear".
    Cómo enviar archivos PDF a la impresora utilizando C#, Figura 2: .NET Framework

    .NET Framework

2. Instale la biblioteca IronPDF

Para instalar la librería IronPDF podemos utilizar cualquiera de los métodos que se indican a continuación:

2.1. Gestor de paquetes NuGet

Podemos instalar la librería IronPDF C# .NET Core desde el gestor de paquetes NuGet.

Abra el Administrador de Paquetes haciendo clic en Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución.

Cómo enviar PDFs a impresora usando C#, Figura 3: Gestor de paquetes

Gestor de paquetes

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

Figura 4: Administrador de paquetes NuGet - Explorador de soluciones" class="img-responsive add-shadow">

Administrador de paquetes NuGet - Explorador de soluciones

Buscar IronPDF. Seleccione IronPDF y haga clic en Instalar. La biblioteca comenzará la instalación.

Cómo Enviar PDFs a la Impresora Usando C#, Figura 5: Instalar IronPDF

Instalar IronPDF

2.2. Consola del gestor de paquetes NuGet

Abra 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
Cómo enviar PDFs a PRinter usando C#, Figura 6: NuGet Consola del gestor de paquetes

Consola del gestor de paquetes

2.3. Uso de un archivo DLL

Otra forma de utilizar IronPDF en su proyecto es añadir un archivo DLL de la biblioteca IronPDF. Puedes descargar el archivo DLL desde este enlace.

  • Descargue el archivo zip DLL. Extráelo a una carpeta específica.
  • Abra un proyecto en Visual Studio. En el Explorador de soluciones, haga clic con el botón derecho en "Referencias" y busque el archivo DLL IronPDF.

2.4. Añadir el espacio de nombres IronPDF

Una vez completada la instalación, agregue el espacio de nombres de IronPDF y System.Drawing.DLL a su archivo de programa.

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

Nota: Debe añadir estas referencias a cada archivo donde desee usar las funciones de IronPDF.

¡IronPDF está instalado y listo! Ya podemos crear nuestro primer documento PDF para nuestras aplicaciones .NET Core y enviarlo a la impresora predeterminada para su impresión. Veamos algunas de ellas a continuación mediante ejemplos de código.

3. Impresión de documentos PDF

3.1. Crear e imprimir un documento PDF a partir de HTML

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

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

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

System.Drawing.Printing.PrintDocument PrintDocYouCanWorkWith = Pdf.GetPrintDocument();
// Render any HTML fragment or document to HTML
var html= new ChromePdfRenderer();
using var PDF = html.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to PDF file");

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

System.Drawing.Printing.PrintDocument PrintDocYouCanWorkWith = Pdf.GetPrintDocument();
' Render any HTML fragment or document to HTML
Dim html= New ChromePdfRenderer()
Dim PDF = html.RenderHtmlAsPdf("<h1>Hello IronPdf</h1><p>This tutorial will help to print this text to PDF file")

' Send the PDF to the default printer to print
Pdf.Print()

Dim PrintDocYouCanWorkWith As System.Drawing.Printing.PrintDocument = Pdf.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.

Debe estar familiarizado con las etiquetas HTML para generar archivos PDF o páginas PDF utilizando la biblioteca IronPDF. Utilizamos la función Print para enviar la salida del archivo PDF a la impresora. Aparecerá el cuadro de diálogo de la impresora, que le permitirá confirmar el trabajo de impresión.

3.2. Crear e imprimir un documento PDF a partir de una URL

También puede crear documentos PDF utilizando una URL:

var Render = new ChromePdfRenderer();
var PDF = Render.RenderUrlAsPdf("https://ironpdf.com/");

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

System.Drawing.Printing.PrintDocument PrintDoc = Pdf.GetPrintDocument();
var Render = new ChromePdfRenderer();
var PDF = Render.RenderUrlAsPdf("https://ironpdf.com/");

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

System.Drawing.Printing.PrintDocument PrintDoc = Pdf.GetPrintDocument();
Dim Render = New ChromePdfRenderer()
Dim PDF = Render.RenderUrlAsPdf("https://ironpdf.com/")

' Send the PDF to the default printer to print
Pdf.Print()

Dim PrintDoc As System.Drawing.Printing.PrintDocument = Pdf.GetPrintDocument()
$vbLabelText   $csharpLabel

El PDF se imprimirá como se muestra a continuación:

Cómo enviar PDFs a PRinter usando C#, Figura 7: Imprimir PDF generado desde URL

Consola del gestor de paquetes

4. Opciones avanzadas de impresión

IronPDF es versátil y bastante capaz de manejar funciones de impresión como la búsqueda de una impresora y la configuración de la resolución de impresión.

4.1 Especificar la impresora

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

using (var printDocument = PDF.GetPrintDocument())
{
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
printDocument.Print();
}
using (var printDocument = PDF.GetPrintDocument())
{
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
printDocument.Print();
}
Using printDocument = PDF.GetPrintDocument()
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"
printDocument.Print()
End Using
$vbLabelText   $csharpLabel

En el ejemplo de código anterior, elijo "Microsoft Print to PDF". Más información sobre cómo configurar ajustes de impresión específicos se puede encontrar en las páginas de Documentación.

4.2 Configurar la resolución de la impresora

También puede establecer la resolución para imprimir un PDF. La resolución se refiere al número de píxeles que se imprimen, o se muestran, según la salida. También puede establecer la resolución de su documento de impresión a través de IronPDF con la ayuda de la propiedad DefaultPageSettings.PrinterResolution del documento PDF.

printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
    Kind = PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};
printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
    Kind = PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};
printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
	.Kind = PrinterResolutionKind.Custom,
	.X = 1200,
	.Y = 1200
}
$vbLabelText   $csharpLabel

4.3 Rastreo de Procesos de Impresión Usando C

En el siguiente ejemplo de código, verá cómo cambiar el nombre de la impresora, y la resolución, y cómo obtener un recuento de las páginas que se imprimieron.

using (var printDocument = PDF.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
    {
        Kind = PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };
    var printedPages = 0;
    printDocument.PrintPage += (sender, args) => printedPages++;
    printDocument.Print();
}
using (var printDocument = PDF.GetPrintDocument())
{
    printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";
    printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
    {
        Kind = PrinterResolutionKind.Custom,
        X = 1200,
        Y = 1200
    };
    var printedPages = 0;
    printDocument.PrintPage += (sender, args) => printedPages++;
    printDocument.Print();
}
Using printDocument = PDF.GetPrintDocument()
	printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"
	printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
		.Kind = PrinterResolutionKind.Custom,
		.X = 1200,
		.Y = 1200
	}
	Dim 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
	printDocument.Print()
End Using
$vbLabelText   $csharpLabel

5. Resumen

IronPDF es una solución completa para trabajar con documentos PDF. Ofrece la posibilidad de convertir de diferentes formatos a PDF. La manipulación y el formateo de archivos PDF resultan muy sencillos con la función de biblioteca IronPDF. Todo lo que se necesita son unas pocas líneas de código para crear y formatear el archivo PDF. También puede imprimir PDF mediante programación. Imprime un PDF enviándolo a la impresora predeterminada del ordenador. Podemos mostrar ventanas de diálogo de impresión a los usuarios o podemos imprimir silenciosamente utilizando las sobrecargas del método Print.

Una prueba gratuita de IronPDF también está disponible para probar todo su potencial para generar e imprimir documentos PDF en sus aplicaciones. Se puede encontrar más información sobre las licencias en este enlace.

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

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
C# Imprimir PDF Programáticamente (Tutorial de Ejemplo de Código)
SIGUIENTE >
Cómo Imprimir PDF en VB.NET (Paso a Paso) Tutorial