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.
Cómo imprimir un PDF en una impresora específica en C#
- Instalar la biblioteca C# de PDF Printer
- Renderizar un documento PDF nuevo o cargar uno existente con C#
- Utilice la clase
PrintDocpara configurar la impresora PDF - Imprima desde una impresora específica configurando la propiedad
PrinterName - Ejecute el método
Printpara imprimir con DPI predeterminado o DPI personalizado
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
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")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>")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"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)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 = 5Aquí, 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 = 3Este 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 = FalseCon 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.PaperSourcesConclusió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.








