Gerador de QR Codes em C# (.NET): a poderosa ferramenta QRCoder
\nOs QR Codes se tornaram parte essencial da web moderna e dos aplicativos móveis. Eles são usados para acesso rápido a links, transmissão de dados de contato, autenticação, pagamento e muito mais. Se você está desenvolvendo uma aplicação na plataforma .NET (C#), uma das melhores soluções para gerar QR Codes é a biblioteca QRCoder. Esta é uma biblioteca leve, de alto desempenho e totalmente gerenciada, de código aberto, que não requer dependências externas (como ImageMagick ou ZXing).
\n\nO que é QRCoder?
\nQRCoder é uma implementação pura em C# do padrão de QR Code (ISO/IEC 18004). Ela permite criar QR Codes de várias versões (de 1 a 40), definir o nível de correção de erros (L, M, Q, H), incorporar logotipos e exportar o resultado nos formatos PNG, BMP, JPG, GIF, bem como SVG ou XAML (através de módulos adicionais). A biblioteca funciona tanto com .NET Framework (a partir da versão 4.6) quanto com .NET Core / .NET 5/6/7/8, tornando-a uma escolha versátil para aplicações web (ASP.NET), desktop (WPF, WinForms) e projetos de console.
\n\nInstalação e configuração
\nA instalação do QRCoder é feita através do gerenciador de pacotes NuGet. Execute um dos seguintes comandos:
\n// Via Package Manager Console\nInstall-Package QRCoder\n\n// Via .NET CLI\ndotnet add package QRCoder\nApós instalar a biblioteca, você pode começar imediatamente a gerar QR Codes. Nenhuma configuração adicional é necessária.
\n\nExemplo básico: geração de QR Code com texto
\nA maneira mais simples é criar um QR Code contendo uma string arbitrária (URL, texto, número de telefone). O exemplo abaixo gera um QR Code e o salva em um arquivo:
\nusing QRCoder;\nusing System.Drawing;\nusing System.Drawing.Imaging;\n\nclass Program\n{\n static void Main()\n {\n // 1. Criar o gerador\n QRCodeGenerator qrGenerator = new QRCodeGenerator();\n\n // 2. Criar os dados do QR Code (texto, nível de correção)\n QRCodeData qrCodeData = qrGenerator.CreateQrCode(\n "https://pythonlib.ru",\n QRCodeGenerator.ECCLevel.Q // Nível Q — 25% de recuperação\n );\n\n // 3. Criar a representação gráfica\n QRCode qrCode = new QRCode(qrCodeData);\n\n // 4. Renderizar em Bitmap (tamanho do módulo 20 pixels)\n Bitmap qrCodeImage = qrCode.GetGraphic(20);\n\n // 5. Salvar em arquivo\n qrCodeImage.Save("qrcode.png", ImageFormat.Png);\n\n Console.WriteLine("QR Code criado: qrcode.png");\n }\n}\nComo resultado, você obterá um arquivo qrcode.png com um QR Code preto e branco. O nível de correção Q permite recuperar até 25% dos dados danificados — ideal para a maioria das tarefas.
QR Code com logotipo (branding)
\nO QRCoder suporta a incorporação de uma imagem no centro do QR Code. Isso é útil para adesivos de marca ou cartões de visita. Importante: o logotipo não deve cobrir mais de 30% da área do código, caso contrário, a leitura se tornará impossível.
\nusing QRCoder;\nusing System.Drawing;\n\npublic Bitmap GenerateQrWithLogo(string text, string logoPath)\n{\n QRCodeGenerator qrGenerator = new QRCodeGenerator();\n QRCodeData qrCodeData = qrGenerator.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);\n QRCode qrCode = new QRCode(qrCodeData);\n\n // Carregar o logotipo\n Image logo = Image.FromFile(logoPath);\n\n // Gerar com logotipo (tamanho do módulo 20, cor de fundo branca, logotipo centralizado)\n Bitmap result = qrCode.GetGraphic(20, Color.Black, Color.White, logo);\n return result;\n}\n\nPersonalização da aparência: cor e tamanho
\nVocê pode facilmente alterar as cores do QR Code para adaptá-lo ao design da sua aplicação. O método GetGraphic aceita os seguintes parâmetros:
- \n
- pixelsPerModule — tamanho de ca
Também na biblioteca
Parsing de HTML em C# (.NET): bibliotecas HtmlAgilityPack e AngleSharp
iTextSharp para C# (.NET): guia completo com exemplos
Rate Limiting em TypeScript: bibliotecas, ferramentas e exemplos de implementação