Saltar al pie de página
USANDO IRONPRINT

Imprimir PDF a una Impresora Específica en C# (Tutorial con Ejemplo de Código)

Hay muchas instancias en las que los desarrolladores pueden necesitar imprimir documentos PDF directamente desde su aplicación. Esta tarea a veces puede parecer complicada cuando el usuario quiere imprimir varios archivos PDF o usar un nombre de impresora específico distinto de la impresora predeterminada. Varios métodos pueden ayudarnos a imprimir archivos PDF. Algunos de estos deben pagarse, otros funcionan de manera errática y algunos son difíciles de implementar.

IronPDF es una biblioteca .NET que proporciona un conjunto de clases para crear archivos PDF de manera programática. Estas clases se encuentran en el ensamblaje IronPDF.Core y están diseñadas para ser fáciles de usar con cualquier lenguaje .NET, incluido C#, VB.NET, F#, etc. La biblioteca ofrece muchas funciones para crear documentos PDF, manipular PDFs existentes, leer PDFs, imprimir PDFs y crear formularios PDF programáticamente.

Veamos algunos fragmentos de código de ejemplo para imprimir un archivo PDF.

Instalar IronPDF

Primero que todo, instala la biblioteca IronPDF. Para eso, dirígete a la Consola del Administrador de Paquetes y escribe el siguiente comando.

Install-Package IronPrint

Imprimir PDF en C# a una impresora específica (Ejemplo de Tutorial de Código), Figura 1: Instalar el paquete a través de la Consola del Administrador de Paquetes Instalar el paquete a través de la Consola del Administrador de Paquetes

El siguiente paso es crear un documento PDF. También puedes simplemente cargar un documento PDF existente si no deseas crear uno nuevo. Vamos a crear un documento PDF.

Crear un documento PDF usando una URL

IronPDF proporciona dos funciones para crear un documento PDF usando una URL: RenderUrlAsPdf y RenderUrlAsPdfAsync. El RenderUrlAsPdfAsync proporciona funcionalidad asincrónica.

El siguiente fragmento de código creará un archivo PDF desde la URL.

var renderer = new IronPdf.ChromePdfRenderer();
PdfDocument doc = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
var renderer = new IronPdf.ChromePdfRenderer();
PdfDocument doc = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim doc As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
$vbLabelText   $csharpLabel

Crear un documento PDF usando una cadena HTML

Es posible crear un documento PDF utilizando una cadena HTML. IronPDF proporciona dos métodos para este propósito: RenderHtmlAsPdf y RenderHtmlAsPdfAsync. El método RenderHtmlAsPdfAsync es para operaciones asincrónicas.

El siguiente fragmento de código creará un archivo PDF a partir de la cadena HTML.

IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(@"<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>");
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(@"<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>");
Dim renderer As New IronPdf.ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>My PDF File</h1> <p>This is a sample PDF document created to demonstrate the PDF file generation using HTML string</p>")
$vbLabelText   $csharpLabel

Imprimir archivos PDF en una impresora específica

Imprimir archivos PDF a una impresora específica se puede realizar fácilmente utilizando la propiedad PrinterName de PrinterSettings. Aquí hay una demostración de cómo imprimir documentos PDF en una impresora específica en C#.

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.PrinterName = "myPrinter";
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.PrinterName = "myPrinter";
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.PrinterName = "myPrinter"
$vbLabelText   $csharpLabel

La variable pdf se refiere al documento PDF que se creó. El método GetPrintDocument devuelve una instancia de PrintDocument, lo que permite un control granular sobre el envío del PDF a una impresora.

Diálogo de impresión

Si el usuario necesita seleccionar todos los ajustes de la impresora utilizando un diálogo de interfaz de usuario similar al que aparece en un documento de Word o Adobe Acrobat, IronPDF puede mostrar el cuadro de diálogo de impresión pasando un solo parámetro a la función Print.

pdf.Print(true);
pdf.Print(true);
pdf.Print(True)
$vbLabelText   $csharpLabel

Pasar true al argumento de la función Print muestra el diálogo de impresión GUI. Por defecto, la función Print imprime en la impresora predeterminada.

Especifique el número de copias

Imprimir varias copias de un solo documento se puede lograr configurando la propiedad Copies de PrinterSettings. El siguiente código de ejemplo lo muestra:

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Copies = 5;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.Copies = 5
$vbLabelText   $csharpLabel

Aquí, pdf es el objeto del documento de impresión actual.

Seleccione el rango de páginas para imprimir el archivo PDF

Si no deseas imprimir un documento completo, puedes especificar las propiedades FromPage y ToPage de PrinterSettings.

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.FromPage = 3;
printDoc.PrinterSettings.ToPage = 3;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.FromPage = 3;
printDoc.PrinterSettings.ToPage = 3;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.FromPage = 3
printDoc.PrinterSettings.ToPage = 3
$vbLabelText   $csharpLabel

Este código establece tanto las páginas de inicio como las de finalización para la impresión, de modo que solo se imprima un rango específico del documento.

Propiedad de Collate

La característica de Collate en la impresión significa que si estás imprimiendo más de una copia de un documento de varias páginas, las copias imprimirán todas las páginas de cada copia antes de imprimir la segunda copia. Puedes establecer esta propiedad según sea necesario.

var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
var printDoc = pdf.GetPrintDocument();
printDoc.PrinterSettings.Collate = false;
Dim printDoc = pdf.GetPrintDocument()
printDoc.PrinterSettings.Collate = False
$vbLabelText   $csharpLabel

Con Collate configurado en falso, la impresora imprimirá todas las copias requeridas de cada página antes de imprimir la siguiente página.

Obtener fuentes de papel

Para obtener las fuentes de papel disponibles para la impresora, utiliza el siguiente código:

var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
var paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources;
Dim paperSources = pdf.GetPrintDocument().PrinterSettings.PaperSources
$vbLabelText   $csharpLabel

Conclusión

IronPDF proporciona todas las características necesarias para desarrollar aplicaciones .NET que requieren funcionalidades de impresión. Existen múltiples opciones disponibles para imprimir archivos PDF, lo que te permite elegir la mejor opción para tus necesidades e imprimir múltiples archivos PDF.

Resumen

Este tutorial demostró cómo imprimir PDFs de manera sencilla en una impresora específica usando la biblioteca IronPDF: es gratis para desarrollo y proporciona altos niveles de rendimiento. Para más capacidades de impresión de PDF con IronPDF, explora esta página de ejemplo.

Además, IronPDF es capaz de renderizar gráficos, agregar códigos de barras, mejorar la seguridad con contraseñas y agregar marcas de agua en solo unas pocas líneas de código.

Además, hay otras bibliotecas útiles, como IronXL para trabajar con documentos de Excel, IronBarcode para trabajar con códigos de barras, e IronOCR para trabajar con OCR. Puedes obtener las cinco bibliotecas por el precio de solo dos al comprar el Iron Suite completo. Por favor, visita la página de licencias para más detalles.

Preguntas Frecuentes

¿Cómo imprimo un PDF en una impresora específica en C#?

Para imprimir un PDF en una impresora específica en C#, use IronPDF para establecer la propiedad PrinterName de PrinterSettings con el nombre de la impresora deseada y ejecute el método Print.

¿Puedo personalizar la configuración de DPI al imprimir un PDF?

Sí, IronPDF te permite personalizar la configuración de DPI al imprimir un PDF. Puedes especificar el DPI en la clase PrintDoc para satisfacer tus necesidades de calidad de impresión.

¿Cómo puedo mostrar un diálogo de impresión al imprimir un PDF con IronPDF?

Para mostrar un diálogo de impresión, pasa 'true' al argumento de la función Print en IronPDF. Esto activará el diálogo de impresión GUI para ajustar las configuraciones de la impresora antes de imprimir.

¿Es posible imprimir solo un rango específico de páginas de un PDF?

Sí, con IronPDF, puedes imprimir un rango específico de páginas estableciendo las propiedades FromPage y ToPage de PrinterSettings antes de ejecutar el comando de impresión.

¿Cómo puedo imprimir múltiples copias de un PDF usando IronPDF?

Para imprimir múltiples copias, establece la propiedad Copies de PrinterSettings en IronPDF al número deseado de copias antes de ejecutar el método Print.

¿Qué hace la opción Collate al imprimir PDFs?

La opción Collate en IronPDF asegura que todas las páginas de cada copia se impriman secuencialmente antes de comenzar a imprimir la siguiente copia, lo cual es útil al imprimir múltiples copias de un documento.

¿Cómo puedo recuperar las fuentes de papel disponibles para una impresora?

En IronPDF, puedes usar la propiedad PaperSources de PrinterSettings para recuperar y seleccionar entre las fuentes de papel disponibles para una impresora específica.

¿Qué características adicionales ofrece IronPDF para la manipulación de PDF?

IronPDF ofrece características como renderizar HTML y URLs como PDFs, agregar códigos de barras, mejorar la seguridad del documento con contraseñas, marca de agua y más, convirtiéndolo en una herramienta completa para desarrolladores.

¿Cómo instalo la biblioteca IronPDF para manipulación de PDF?

Para instalar IronPDF, usa el comando Install-Package IronPdf en la Consola del Administrador de Paquetes para agregar la biblioteca a tu proyecto .NET.

¿Puede IronPDF renderizar documentos PDF existentes para impresión?

Sí, IronPDF puede renderizar tanto documentos PDF nuevos como existentes para impresión, permitiéndote especificar configuraciones de impresora y ejecutar el comando de impresión con facilidad.

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