USO DE IRONPRINT

Cómo imprimir un código QR en C#

Chaknith Bin
Chaknith Bin
29 de abril, 2024
Compartir:

Los códigos QR, o códigos de respuesta rápida, se han convertido en omnipresentes en nuestra era digital. Almacenan información en una matriz de cuadrados negros sobre fondo blanco y pueden escanearse con un smartphone o un lector de códigos QR específico. Estos códigos QR/códigos de barras utilizando .NET barcode DLL se utilizan para varios propósitos, incluyendo el etiquetado de productos, pagos móviles y materiales de marketing. Imprimir códigos QR es crucial para integrar las interacciones físicas y digitales sin problemas.

En este artículo, primero vamos a generar un código QR en C# usando IronQR, la biblioteca generadora de códigos QR, luego convertirlo a PDF usando IronPDF, y finalmente imprimir el documento perfectamente pixelado con una imagen de código QR utilizando la biblioteca IronPrint de C#.

Cómo imprimir un código QR en C#

  1. Crear un proyecto de Visual Studio

  2. Instalar las bibliotecas IronQR, IronPDF y IronPrint

  3. Crea un código QR usando el método QrWriter.Write()

  4. Guarde el Código QR generado como una imagen utilizando el método SaveAs

  5. Cree un documento PDF utilizando el ImageToPdfConverter de IronPDF

  6. Ajuste PrinterSettings utilizando IronPrint

  7. Imprima utilizando el método Printer.Print() de IronPrint

IronPrint - La biblioteca de impresión de C&num

IronPrint, desarrollado por Iron Software, es una potente biblioteca de impresión para .NET, que ofrece un conjunto versátil de herramientas para manejar tareas de impresión en C#. Es compatible con una amplia gama de entornos, incluidos Windows, macOS, Android e iOS. En este artículo, exploraremos cómo IronPrint, en conjunto con IronQR y IronPDF, puede ser aprovechado para crear códigos QR, y convertir, e imprimir códigos QR en una aplicación de consola C#.

Características de IronPrint

IronPrint se distingue por sus clases y métodos dedicados adaptados a funcionalidades relacionadas con la impresión. Las características clave incluyen:

  • Configuraciones de impresión integrales: IronPrint permite a los desarrolladores personalizar varios aspectos del proceso de impresión, como el tamaño del papel, la orientación, DPI, número de copias, nombre de la impresora, márgenes e impresión en escala de grises.
  • Impresión versátil con la clase Printer: La biblioteca introduce la clase Printer, proporcionando un conjunto completo de métodos para imprimir varios tipos de archivos, incluidas imágenes y documentos PDF.
  • Compatibilidad multiplataforma: IronPrint admite la impresión en múltiples plataformas, lo que lo hace adecuado para una variedad de aplicaciones.

Requisitos previos

Antes de sumergirte en los pasos para crear una aplicación de consola en C# para imprimir códigos QR, asegúrate de que tienes los siguientes requisitos previos:

  1. Visual Studio: Instala Microsoft Visual Studio, un poderoso entorno de desarrollo integrado para C#. Puede descargarlo desde su sitio web oficial.

  2. Biblioteca IronQR: Esta biblioteca es esencial para generar códigos QR. Instálalo usando la Consola de NuGet o directamente desde el IronQR sitio web oficial de NuGet.

  3. Biblioteca IronPDF: IronPDF se utilizará para convertir las imágenes de códigos de barras de códigos QR generadas en un PDF. Instálelo utilizando el mismo método de instalación de NuGet.

  4. IronPrint Library: Finalmente, instala la biblioteca IronPrint para habilitar una impresión sin problemas en tu aplicación C#.

Crear una aplicación de consola C&num en Visual Studio

Siga estos pasos para configurar una aplicación de consola C# en Visual Studio:

  1. Abra Visual Studio y cree una nueva aplicación de consola C#.

  2. Configure el proyecto de la siguiente manera y haga clic en "Siguiente".

    Cómo imprimir un código QR en C#: Figura 1 - Configura tu nuevo proyecto de aplicación de consola C# especificando el nombre del proyecto, la ubicación y el nombre de la solución. Luego haz clic en el botón "Siguiente".

  3. A continuación, para obtener información adicional, elija .NET Framework y haga clic en "Crear".

Instalación de las bibliotecas necesarias mediante el gestor de paquetes NuGet

Siga los pasos para instalar las bibliotecas necesarias:

  1. Abra NuGet Package Manager Console o NuGet Package Manager for Solutions mediante el menú Herramientas o el Explorador de soluciones en el proyecto de Visual Studio.

  2. Instalar la biblioteca de códigos QR IronQR:

    • Utilizando la consola del gestor de paquetes NuGet, añada el siguiente comando:
      Install-Package IronQR
  • Uso de la Gestión de paquetes NuGet para soluciones: En la pestaña Examinar de NuGet, busque la biblioteca "IronQR", QR Code y haga clic en Instalar.

    Cómo imprimir un código QR en C#: Figura 2 - Instalar IronQR usando el Administrador de Paquetes NuGet para Soluciones buscando "IronQR"

  1. Instale la biblioteca PDF de IronPDF:

    • Utilizando la consola del gestor de paquetes NuGet, introduzca el siguiente comando:
        Install-Package IronPdf
  • Uso de la Gestión de paquetes NuGet para soluciones: En la pestaña Examinar de NuGet, busque la biblioteca "IronPDF" y haga clic en Instalar.

    Cómo imprimir un código QR en C#: Figura 3 - Instalar IronPDF utilizando el Administrador de paquetes NuGet para soluciones buscando IronPDF

  1. Instalar la biblioteca de impresión IronPrint:

    • Utilizando la consola del gestor de paquetes NuGet, añada el siguiente comando:
        Install-Package IronPrint
  • Uso de la gestión de paquetes NuGet para soluciones: En la pestaña Examinar de NuGet, busque la biblioteca "IronPrint" y haga clic en Instalar.

    Cómo imprimir un código QR en C#: Figura 4 - Instalar IronPrint usando el Administrador de paquetes NuGet para soluciones buscando "IronPrint"

Pasos para crear, convertir e imprimir códigos QR

Vamos a desglosar el proceso de creación de códigos QR, la conversión de códigos QR a PDF y, por último, la impresión de la salida del generador de códigos QR en un procedimiento paso a paso utilizando IronQR, IronPDF e IronPrint.

Procedimiento paso a paso para imprimir C# Código QR

Paso 1: Bibliotecas de referencia

En el archivo Program.cs de la parte superior, incluiremos referencias a las bibliotecas necesarias. Esto garantiza que las bibliotecas estén instaladas y listas para ser utilizadas.

// Reference to libraries
using IronPrint;                    // Library for printing functionalities
using IronPdf;                      // Library for PDF handling
using IronQr;                       // Library for QR code generation
using IronSoftware.Drawing;         // Library for image processing
// Reference to libraries
using IronPrint;                    // Library for printing functionalities
using IronPdf;                      // Library for PDF handling
using IronQr;                       // Library for QR code generation
using IronSoftware.Drawing;         // Library for image processing
' Reference to libraries
Imports IronPrint ' Library for printing functionalities
Imports IronPdf ' Library for PDF handling
Imports IronQr ' Library for QR code generation
Imports IronSoftware.Drawing ' Library for image processing
$vbLabelText   $csharpLabel

Paso 2: Crear un código QR con IronQR

En este paso, primero vamos a generar un código QR usando IronQR y luego guardarlo como una imagen, como se muestra en el siguiente ejemplo de código:

// Code to create a QR code using IronQR
QrCode myQr = QrWriter.Write("Hello IronPrint!");  // Generate a QR code with the message
AnyBitmap qrImage = myQr.Save();                    // Save QR code as an image
qrImage.SaveAs("assets/qr.png");                    // Save the png image file to the "assets" folder
// Code to create a QR code using IronQR
QrCode myQr = QrWriter.Write("Hello IronPrint!");  // Generate a QR code with the message
AnyBitmap qrImage = myQr.Save();                    // Save QR code as an image
qrImage.SaveAs("assets/qr.png");                    // Save the png image file to the "assets" folder
' Code to create a QR code using IronQR
Dim myQr As QrCode = QrWriter.Write("Hello IronPrint!") ' Generate a QR code with the message
Dim qrImage As AnyBitmap = myQr.Save() ' Save QR code as an image
qrImage.SaveAs("assets/qr.png") ' Save the png image file to the "assets" folder
$vbLabelText   $csharpLabel

En este fragmento de código:

  • Se genera un código QR con el mensaje "Hello IronPrint!" usando la clase QrWriter. El método Write() permite la generación de un código QR con un mensaje o incluso con datos numéricos.
  • El código QR se guarda como un archivo AnyBitmap, una clase Bitmap compatible universalmente en C# provista por IronSoftware.
  • La imagen del código QR se guarda en la carpeta "assets" con el nombre "qr.png".

    Este es el resultado del código QR:

    Cómo imprimir un código QR en C#: Figura 5 - Imagen de salida del código QR: qr.png

Paso 3: Convertir imagen QR a PDF utilizando IronPDF

A continuación, vamos a convertir la imagen del código QR en un PDF usando IronPDF. Los PDF conservan el formato del documento y son adecuados para compartir e imprimir. Aquí, cada archivo de imagen se colocará en una página separada del archivo PDF.

// Code to convert QR Image to PDF using IronPDF
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".png"));  // Reading QR codes image files
// Convert the QR code images to a PDF and save it
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("assets/composite.pdf");
// Code to convert QR Image to PDF using IronPDF
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".jpg") 
 f.EndsWith(".png"));  // Reading QR codes image files
// Convert the QR code images to a PDF and save it
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("assets/composite.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

En este fragmento de código:

  • En primer lugar, enumera a través de archivos de imagen en la carpeta "assets" con extensiones ".jpg" o ".png" y luego procede a leer los códigos QR del directorio.
  • Utiliza el método ImageToPdfConverter.ImageToPdf() de IronPDF para convertir las imágenes en un PDF llamado "composite.pdf".

    Este es el resultado:

    Cómo imprimir un código QR en C#: Figura 6 - PDF de salida que contiene imagen de código QR: composite.pdf

Paso 4: Imprimir PDF con IronPrint

Finalmente, usaremos IronPrint - una biblioteca de impresión versátil para imprimir el PDF generado con configuraciones de impresora.

// Code for Printing using IronPrint
// Get available printer names
List<string> printerNames = Printer.GetPrinterNames();
// Create print settings object
PrintSettings printerSettings = new PrintSettings();
foreach(string printerName in printerNames)
{
    // Set desired printer name
    if(printerName.Equals("Microsoft Print to PDF"))
        printerSettings.PrinterName = printerName;
}
//Configure print setting
printerSettings.PaperSize = PaperSize.A4;                    // Set paper size
Margins margins = new Margins(30,10);                        // Set paper margins
printerSettings.PaperMargins = margins;                      // Apply margins
Printer.Print("assets/composite.pdf", printerSettings);      // Print the PDF
// Code for Printing using IronPrint
// Get available printer names
List<string> printerNames = Printer.GetPrinterNames();
// Create print settings object
PrintSettings printerSettings = new PrintSettings();
foreach(string printerName in printerNames)
{
    // Set desired printer name
    if(printerName.Equals("Microsoft Print to PDF"))
        printerSettings.PrinterName = printerName;
}
//Configure print setting
printerSettings.PaperSize = PaperSize.A4;                    // Set paper size
Margins margins = new Margins(30,10);                        // Set paper margins
printerSettings.PaperMargins = margins;                      // Apply margins
Printer.Print("assets/composite.pdf", printerSettings);      // Print the PDF
' Code for Printing using IronPrint
' Get available printer names
Dim printerNames As List(Of String) = Printer.GetPrinterNames()
' Create print settings object
Dim printerSettings As New PrintSettings()
For Each printerName As String In printerNames
	' Set desired printer name
	If printerName.Equals("Microsoft Print to PDF") Then
		printerSettings.PrinterName = printerName
	End If
Next printerName
'Configure print setting
printerSettings.PaperSize = PaperSize.A4 ' Set paper size
Dim margins As New Margins(30,10) ' Set paper margins
printerSettings.PaperMargins = margins ' Apply margins
Printer.Print("assets/composite.pdf", printerSettings) ' Print the PDF
$vbLabelText   $csharpLabel

En este fragmento de código fuente:

  • Obtiene los nombres de impresoras disponibles usando Printer.GetPrinterNames().
  • Establece el nombre de impresora deseado (en este caso, "Microsoft Print to PDF" para demostrar el proceso de impresión). Si no se especifica, utilizará la impresora conectada por defecto.
  • Configura los ajustes de impresión, especificando el tamaño del papel como A4 y estableciendo los márgenes. Margins struct tiene múltiples sobrecargas y también presenta campos como Top, Bottom, Left y Right para establecer el margen según sea necesario.
  • Imprime el PDF usando un Printer.Print(). El primer argumento es la ruta al archivo que se va a imprimir y el segundo es el printerSettings si se especifica.

    Aquí está la salida del archivo de impresión. Esto muestra cómo se imprimirá la imagen:

    Cómo imprimir un código QR en C#: Figura 7 - Archivo de impresión de salida: composite.pdf

    Imprimir en una impresora física es mucho más fácil con IronPrint. Para obtener más control al imprimir, puede usar el método ShowPrintDialog(). Para obtener más información sobre cómo imprimir eficientemente, por favor visite esta página de documentación.

Ventajas de IronPrint para imprimir en C#

IronPrint está específicamente diseñado como una potente biblioteca de impresión para aplicaciones .NET. A diferencia de IronPDF, que se centra principalmente en manejar tareas relacionadas con PDF, y de la impresión de Microsoft, que es un mecanismo de impresión de propósito general, IronPrint proporciona un conjunto dedicado de clases y métodos adaptados para un control detallado sobre el proceso de impresión.

Con IronPrint, los desarrolladores pueden aprovechar:

1. Impresión asíncrona

IronPrint proporciona funciones asíncronas, evitando que las operaciones de impresión bloqueen hilos y mejorando el rendimiento.

2. Impresión versátil

La clase dedicada Printer en IronPrint permite la impresión versátil de varios tipos de archivos, ofreciendo flexibilidad más allá de la impresión estándar.

3. Soporte multiplataforma

IronPrint es compatible con múltiples plataformas, como Windows, Android, iOS y macOS, lo que la hace apta para diversos entornos de aplicación.

4. Ajustes de impresión personalizables

Los desarrolladores pueden controlar detalladamente la configuración de impresión, incluyendo el tamaño del papel, la orientación, DPI, número de copias y más, a través de la clase PrintSettings.

Conclusión

En conclusión, la combinación de IronPrint, IronQR y IronPDF ofrece una solución robusta para crear, convertir e imprimir códigos QR en C#. Las ventajas de la impresión asincrónica, las opciones de impresión versátiles y el soporte multiplataforma hacen de IronPrint una herramienta valiosa para los desarrolladores. Siguiendo los pasos detallados que se indican en esta guía, podrá generar códigos de barras QR e integrar perfectamente su impresión en sus aplicaciones C#, tendiendo un puente entre las interacciones físicas y digitales.

IronPrint ofrece una prueba gratuita comenzando desde $749. Descarga la biblioteca desde aquí y pruébala.

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ómo imprimir con impresora de red en C#
SIGUIENTE >
Cómo imprimir un archivo en una impresora en C#

¿Listo para empezar? Versión: 2025.4 acaba de salir

Ver licencias >