Ir para o conteúdo do rodapé
USANDO O IRONPRINT

Como imprimir um código QR em C#

Códigos QR, ou Codes de Resposta Rápida, tornaram-se ubíquos em nossa era digital. Eles armazenam informações em uma matriz de quadrados pretos em um fundo branco e podem ser escaneados usando um smartphone ou leitor de código QR dedicado. Esses códigos QR/códigos de barras usando .NET barcode DLL são usados para vários propósitos, incluindo rotulagem de produtos, pagamentos móveis e materiais de marketing. Imprimir códigos QR é crucial para integrar interações físicas e digitais de maneira contínua.

Neste artigo, vamos primeiro gerar um código QR em C# usando a IronQR, a biblioteca geradora de código QR, depois convertê-lo em PDF usando a IronPDF, e finalmente imprimir o documento com imagem de código QR usando a biblioteca C# IronPrint.

How to Print a QR Code in C#

  1. Criar um Projeto no Visual Studio
  2. Instale as bibliotecas IronQR, IronPDF e IronPrint
  3. Crie um Código QR usando o método QrWriter.Write()
  4. Salve o Código QR gerado como uma imagem usando o método SaveAs
  5. Crie um documento PDF usando ImageToPdfConverter do IronPDF
  6. Ajuste PrinterSettings usando o IronPrint
  7. Imprima usando o método Printer.Print() do IronPrint

IronPrint - The C# Printing Library

IronPrint, desenvolvido pela Iron Software, é uma poderosa biblioteca de impressão for .NET, oferecendo um conjunto versátil de ferramentas para lidar com tarefas de impressão em C#. Ele suporta uma ampla gama de ambientes, incluindo Windows, macOS, Android e iOS. Neste artigo, exploraremos como IronPrint, em conjunto com IronQR e IronPDF, pode ser utilizado para criar códigos QR, converter e imprimir códigos QR em um aplicativo de console C#.

Recursos do IronPrint

IronPrint se diferencia com classes e métodos dedicados voltados para funcionalidades relacionadas à impressão. As principais características incluem:

  • Configurações de Impressão Abrangentes: IronPrint permite que os desenvolvedores personalizem vários aspectos do processo de impressão, como tamanho do papel, orientação, DPI, número de cópias, nome da impressora, margens e impressão em escala de cinza.
  • Impressão Versátil com Classe Printer: A biblioteca introduz a classe Printer, fornecendo um conjunto abrangente de métodos para impressão de vários tipos de arquivo, incluindo imagens e documentos PDF.
  • Suporte Multiplataforma: IronPrint suporta impressão em várias plataformas, tornando-o adequado para uma variedade de aplicativos.

Pré-requisitos

Antes de mergulhar nos passos de criação de um aplicativo de console em C# para imprimir códigos QR, certifique-se de ter os seguintes pré-requisitos:

  1. Visual Studio: Instale o Microsoft Visual Studio, um poderoso ambiente de desenvolvimento integrado para C#. Você pode baixá-lo de seu site oficial.
  2. Biblioteca IronQR: Esta biblioteca é essencial para gerar códigos QR. Instale-a usando o Console do NuGet ou diretamente do IronQR site oficial do NuGet website.
  3. Biblioteca IronPDF: IronPDF será usada para converter as imagens de código de barras QR geradas em um PDF. Instale-a usando o mesmo método de instalação via NuGet.
  4. Biblioteca IronPrint: Finalmente, instale a biblioteca IronPrint para habilitar a impressão sem problemas em sua aplicação C#.

Create a C# Console Application in Visual Studio

Siga estas etapas para configurar uma aplicação de console C# no Visual Studio:

  1. Abra o Visual Studio e crie um novo Aplicativo de Console C#
  2. Configure o Projeto da seguinte forma e clique "Próximo"

    Como Imprimir um Código QR em C#: Figura 1 - Configure seu novo projeto de Aplicativo de Console C# especificando o nome do Projeto, localização e nome da solução. Em seguida, clique no botão "Próximo".

  3. Em seguida, para informações adicionais, escolha o .NET Framework e clique em "Criar".

Instale Bibliotecas Necessárias via o Gerenciador de Pacotes NuGet

Siga os passos para instalar as bibliotecas necessárias:

  1. Abra o Console do Gerenciador de Pacotes NuGet ou o Gerenciador de Pacotes NuGet para Soluções usando o menu Ferramentas ou o Explorador de Soluções no projeto Visual Studio.
  2. Instale a biblioteca de Código QR IronQR:

    • Usando o Console do Gerenciador de Pacotes NuGet, adicione o seguinte comando:

      Install-Package IronPrint
    • Usando o Gerenciar Pacotes NuGet para Soluções: Na aba de navegação do NuGet, pesquise por "IronQR", biblioteca de Código QR e clique em Instalar.

    Como imprimir um código QR em C#: Figura 2 - Instale IronQR usando o Gerenciador de Pacotes NuGet para Soluções pesquisando "IronQR"

  3. Instale a Biblioteca PDF IronPDF:

    • Usando o Console do Gerenciador de Pacotes NuGet, insira o seguinte comando:

      Install-Package IronPrint
      • Usando o Gerenciar Pacotes NuGet para Soluções: Na guia de navegação do NuGet, procure a biblioteca 'IronPDF' e clique em Instalar.

    Como imprimir um código QR em C#: Figura 3 - Instale IronPDF usando o Gerenciador de Pacotes NuGet para Soluções pesquisando "IronPDF"

  4. Instale a Biblioteca de Impressão IronPrint:

    • Usando o Console do Gerenciador de Pacotes NuGet, adicione o seguinte comando:

      Install-Package IronPrint
    • Usando o Gerenciar Pacotes NuGet para Soluções: Na guia de navegação do NuGet, procure a biblioteca 'IronPrint' e clique em instalar.

    Como imprimir um código QR em C#: Figura 4 - Instale IronPrint usando o Gerenciador de Pacotes NuGet para Soluções pesquisando "IronPrint"

Passos para Criar, Converter e Imprimir Códigos QR

Vamos detalhar o processo de criação de Códigos QR, conversão de códigos QR para PDF e, finalmente, impressão do resultado do gerador de código QR em um procedimento passo a passo usando IronQR, IronPDF e IronPrint.

Step-by-Step Procedure to Print C# QR Code

Passo 1: Referenciar Bibliotecas

No arquivo Program.cs no topo, incluiremos referências às bibliotecas necessárias. Isso garante que as bibliotecas estejam instaladas e prontas para uso.

// 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
$vbLabelText   $csharpLabel

Passo 2: Crie um Código QR Usando o IronQR

Neste passo, primeiramente, vamos gerar um código QR usando IronQR e depois salvá-lo como uma imagem, conforme mostrado no exemplo de código a seguir:

// 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
$vbLabelText   $csharpLabel

Neste trecho de código:

  • Um código QR é gerado com a mensagem "Hello IronPrint!" usando a classe QrWriter. O método Write() permite a geração de um Código QR com uma mensagem ou até mesmo com dados numéricos.
  • O código QR é então salvo como um arquivo AnyBitmap, uma classe Bitmap universalmente compatível com C# fornecida pela IronSoftware.
  • A imagem do código QR é salva na pasta 'assets' com o nome 'qr.png'.

Aqui está a saída do código QR:

Como imprimir um código QR em C#: Figura 5 - Imagem de saída do Código QR: qr.png

Passo 3: Converta a Imagem do QR para PDF Usando o IronPDF

Em seguida, vamos converter a imagem do código QR para um PDF usando IronPDF. Os PDFs preservam o formato do documento e são adequados para compartilhamento e impressão. Aqui, cada arquivo de imagem será colocado em uma página separada do arquivo 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");
$vbLabelText   $csharpLabel

Neste trecho de código:

  • Primeiramente, enumera arquivos de imagem na pasta 'assets' com extensões '.jpg' ou '.png' e então prossegue lendo códigos QR do diretório.
  • Utiliza o método ImageToPdfConverter.ImageToPdf() do IronPDF para converter as imagens para um PDF nomeado 'composite.pdf'.

Aqui está o resultado:

Como imprimir um código QR em C#: Figura 6 - PDF de saída contendo imagem do código QR: composite.pdf

Passo 4: Imprima PDF Usando o IronPrint

Finalmente, usaremos IronPrint - uma biblioteca de Impressão versátil para imprimir o PDF gerado com Configurações de Impressora.

// 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
$vbLabelText   $csharpLabel

Neste trecho de código:

  • Obtém nomes de impressoras disponíveis usando Printer.GetPrinterNames().
  • Define o nome da impressora desejada (neste caso, 'Microsoft Print to PDF' para demonstrar o processo de impressão). Se não for especificado, usará a impressora padrão conectada.
  • Configura as configurações de impressão, especificando o tamanho do papel como A4 e definindo margens. A estrutura de margens possui vários overloads e também apresenta campos como Superior, Inferior, Esquerdo e Direito para definir a margem conforme necessário.
  • Imprime o PDF usando um Printer.Print(). O primeiro argumento é o caminho para o arquivo a ser impresso e o segundo é o printerSettings se especificado.

Aqui está a saída do arquivo impresso. Isso mostra como a imagem será impressa:

Como imprimir um código QR em C#: Figura 7 - Arquivo de impressão de saída: composite.pdf

Imprimir para uma impressora física é muito mais fácil com IronPrint. Para obter mais controle durante a impressão, você pode usar o método ShowPrintDialog(). Para mais informações sobre como Imprimir de forma eficiente, por favor, visite esta página de documentação.

Advantages of IronPrint for Printing in C#

IronPrint é especificamente projetado como uma biblioteca de impressão poderosa para aplicações .NET. Ao contrário do IronPDF, que é principalmente focado em lidar com tarefas relacionadas a PDF, e da impressão da Microsoft, que é um mecanismo de impressão de propósito geral, o IronPrint fornece um conjunto dedicado de classes e métodos adaptados para controle detalhado sobre o processo de impressão.

Com IronPrint, os desenvolvedores podem aproveitar:

1. Impressão Assíncrona

O IronPrint fornece funções assíncronas, evitando que operações de impressão bloqueiem threads e melhorando o desempenho.

2. Impressão Versátil

A classe Printer dedicada no IronPrint permite a impressão versátil de vários tipos de arquivos, oferecendo flexibilidade além da impressão padrão.

3. Suporte Multiplataforma

O IronPrint suporta várias plataformas, incluindo Windows, Android, iOS e macOS, tornando-o adequado para diversos ambientes de aplicação.

4. Configurações de Impressão Personalizáveis

Os desenvolvedores podem controlar finamente as configurações de impressão, incluindo tamanho do papel, orientação, DPI, número de cópias e muito mais, através da classe PrintSettings.

Conclusão

Em conclusão, a combinação de IronPrint, IronQR e IronPDF fornece uma solução robusta para criar, converter e imprimir códigos QR em C#. As vantagens da impressão assíncrona, opções de impressão versáteis e suporte multiplataforma tornam IronPrint uma ferramenta valiosa para os desenvolvedores. Seguindo as etapas detalhadas descritas neste guia, você pode gerar códigos de barras QR e também integrar facilmente sua impressão em seus aplicativos C#, unindo a interação física e digital.

IronPrint oferece uma licença de teste gratuita a partir de $799. Baixe a biblioteca a partir de aqui e experimente.

Perguntas frequentes

Como faço para gerar um código QR em C#?

Para gerar um código QR em C#, utilize a biblioteca IronQR. Você pode criar um código QR utilizando o método QrWriter.Write() da IronQR para produzir um código QR com a mensagem ou os dados desejados.

Como posso converter uma imagem de código QR em um PDF em C#?

Você pode converter uma imagem de código QR em um PDF em C# usando o método ` ImageToPdfConverter.ImageToPdf() do IronPDF. Essa função permite transformar arquivos de imagem em um documento PDF sem esforço.

Quais são os passos envolvidos na impressão de um código QR usando C#?

Os passos incluem gerar um código QR usando o IronQR, convertê-lo em PDF com o IronPDF e, finalmente, imprimir o documento usando o método Printer.Print() do IronPrint com as configurações especificadas.

É possível personalizar as configurações de impressão de códigos QR em C#?

Sim, você pode personalizar as configurações de impressão usando a classe PrintSettings do IronPrint. Ela permite especificar o tamanho do papel, a orientação, o DPI, as margens e outras configurações para atender às suas necessidades de impressão.

Posso usar este método de impressão em diferentes sistemas operacionais?

Sim, o IronPrint oferece suporte a recursos de impressão multiplataforma, sendo compatível com diversos sistemas operacionais, incluindo Windows, macOS, Android e iOS.

Quais são os benefícios de usar o IronPrint para imprimir códigos QR?

O IronPrint oferece benefícios como impressão assíncrona, suporte a vários tipos de arquivo, compatibilidade entre plataformas e a capacidade de personalizar as configurações de impressão, tornando-o uma escolha eficiente para tarefas de impressão em C#.

Como posso solucionar problemas ao imprimir códigos QR em C#?

As etapas comuns de resolução de problemas incluem garantir que todas as bibliotecas necessárias estejam instaladas corretamente, verificar as configurações de impressão no IronPrint e verificar se há erros nos processos de geração de código QR e conversão de PDF.

Existe alguma forma de experimentar o IronPrint antes de comprar?

Sim, o IronPrint oferece um período de teste gratuito, permitindo que você explore seus recursos e avalie sua integração com seus aplicativos C# antes de tomar uma decisão de compra.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me