Geração de QR Codes em Java com ZXing (Zebra Crossing)
\n\nOs QR Codes se tornaram parte essencial da web moderna e dos aplicativos móveis. Eles permitem transmitir rapidamente links, dados de contato, informações textuais e muito mais. No mundo Java, uma das bibliotecas mais populares e estáveis para trabalhar com QR Codes é a ZXing (Zebra Crossing).
\n\nNeste artigo, vamos detalhar como conectar o ZXing ao seu projeto, criar um QR Code simples, configurar sua aparência e salvá-lo em um arquivo. O material será útil tanto para iniciantes quanto para desenvolvedores experientes que desejam adicionar funcionalidade de geração de QR Codes aos seus aplicativos Java.
\n\nO que é ZXing?
\n\nZXing (pronuncia-se "zebra crossing") é uma biblioteca open-source para processamento de códigos de barras unidimensionais e bidimensionais. Escrita em Java, ela suporta diversos formatos: QR Code, Data Matrix, Aztec, PDF417 e outros. Principais recursos:
\n\n- \n
- Geração (criação) de QR Codes a partir de texto, URL, contatos, etc. \n
- Leitura (decodificação) de QR Codes a partir de imagens. \n
- Configuração de cor, tamanho e nível de correção de erros. \n
- Saída em vários formatos gráficos (PNG, JPEG, SVG). \n
- Suporte para Java SE, Android, bem como outras linguagens JVM (Kotlin, Scala). \n
A biblioteca é ativamente mantida pela comunidade e usada em milhares de projetos em todo o mundo.
\n\nConectando o ZXing ao projeto
\n\nA maneira mais simples de adicionar o ZXing ao seu projeto é usar o sistema de build Maven ou Gradle. Se você usa Maven, adicione a seguinte dependência ao arquivo pom.xml:
<dependency>\n <groupId>com.google.zxing</groupId>\n <artifactId>core</artifactId>\n <version>3.5.3</version>\n</dependency>\n<dependency>\n <groupId>com.google.zxing</groupId>\n <artifactId>javase</artifactId>\n <version>3.5.3</version>\n</dependency>\n\n\nPara Gradle (build.gradle):
\n\nimplementation 'com.google.zxing:core:3.5.3'\nimplementation 'com.google.zxing:javase:3.5.3'\n\n\nO módulo core contém as classes principais para trabalhar com códigos, e o javase contém utilitários auxiliares para Java SE (por exemplo, para trabalhar com imagens).
Criação de um QR Code simples
\n\nVamos considerar um exemplo básico: geração de um QR Code contendo a string de texto "Hello, PythonLib!".
\n\nimport com.google.zxing.BarcodeFormat;\nimport com.google.zxing.WriterException;\nimport com.google.zxing.common.BitMatrix;\nimport com.google.zxing.qrcode.QRCodeWriter;\n\nimport javax.imageio.ImageIO;\nimport java.awt.image.BufferedImage;\nimport java.io.File;\nimport java.io.IOException;\n\npublic class QRCodeGenerator {\n public static void main(String[] args) {\n String text = "Hello, PythonLib!";\n int width = 300;\n int height = 300;\n\n QRCodeWriter qrCodeWriter = new QRCodeWriter();\n try {\n BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);\n\n BufferedImage qrImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);\n for (int x = 0; x < width; x++) {\n for (int y = 0; y < height; y++) {\n qrImage.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);\n }\n }\n\n File outputFile = new File("qrcode.png");\n ImageIO.write(qrImage, "png", outputFile);\n System.out.println("QR Code salvo no arquivo: " + outputFile.getAbsolutePath());\n\n } catch (WriterException | IOException e) {\n e.printStackTrace();\n }\n }\n}\n\n\nEste código cria um QR Code preto e branco de 300x300 pixels e o salva no arquivo qrcode.png.
Con
Também na biblioteca
GraphQL Java — biblioteca servidora para implementação de API GraphQL em Java
Migrações de banco de dados em Kotlin: Visão geral de ferramentas e abordagens
Envio de SMS em C# (.NET): Bibliotecas de API e Exemplos de Código
InversifyJS: Contêiner IoC para aplicações TypeScript
Configuração de aplicações Kotlin: bibliotecas e abordagens