📦 QuickCodes
Universal Barcode & QR Toolkit
Gere e leia códigos de barras (1D) e 2D em múltiplos padrões, com performance e simplicidade.
✨ Features
- ✅ Geração e leitura de códigos 1D: EAN-13, UPC-A, Code128, Code39, ITF-14, Codabar
- ✅ Geração e leitura de códigos 2D: QR Code, DataMatrix, PDF417, Aztec
- ✅ Saída em PNG, SVG, PDF, Canvas
- ✅ Bindings para Python, JavaScript (Node.js + WASM), e futuro suporte a Go e .NET
- ✅ Leitura em tempo real de câmera (via WebAssembly no browser)
- ✅ API simples e moderna
🚀 Exemplos de Uso
Python
# Gerar QR Code de pagamento Pix
# Ler um código de barras de imagem
=
# -> "7891234567890"
JavaScript (Browser)
import from "quickcodes-wasm";
// Gerar um EAN-13
let svg = ;
// Ler QR Code da webcam
let result = await ;
console.log;
📸 Exemplos Gerados
Após executar cargo run --example basic_usage, você encontrará estes arquivos em examples/output/:
- qr_hello.svg - QR Code: "Hello, QuickCodes!"
- ean13_example.png - EAN-13: 1234567890128
- upc_a_example.svg - UPC-A: 036000291452
- code128_example.svg - Code128: "HELLO123"
- pix_payment.svg - QR Code para pagamento Pix
- github_url.png - QR Code com URL do GitHub
🎯 Status Atual
✅ MVP Funcional Completo!
- ✅ 4 formatos de código implementados (QR, EAN-13, UPC-A, Code128)
- ✅ 2 formatos de exportação (SVG, PNG)
- ✅ 40 testes passando (25 unitários + 12 integração + 3 doctests)
- ✅ API unificada Rust e Python
- ✅ Bindings Python com PyO3
- ✅ Código 100% limpo (0 warnings, clippy aprovado)
- ✅ Exemplos funcionais e documentação completa
# Teste a biblioteca agora:
# Veja os códigos gerados em examples/output/
📌 Roadmap
🚀 Fase 1 - MVP (Núcleo Funcional) ✅ CONCLUÍDA
- Configuração do Projeto Rust
- Estrutura modular do projeto
- Sistema de build e testes (25 testes unitários passando)
- Documentação automática (docs.rs ready)
- Geradores de Código 1D
- Code128 (implementação básica)
- EAN-13 com checksum automático
- UPC-A
- Geradores de Código 2D
- QR Code (Low, Medium, Quartile, High error correction)
- Sistema de Exportação
- SVG (vetorial, escalável)
- PNG (raster, alta qualidade)
- Configurações de tamanho e DPI
- Bindings Iniciais
- Python (PyO3) - Implementado e testado
- JavaScript/Node.js (NAPI-RS)
🔧 Fase 2 - Expansão Industrial
- Códigos 2D Avançados
- DataMatrix (farmacêutica/ANVISA)
- PDF417 (documentos oficiais)
- Aztec Code (transporte)
- Leitura/Decodificação
- Leitor de imagens estáticas
- Algoritmos de detecção e correção
- Suporte a múltiplos códigos por imagem
- Exportação Avançada
- PDF nativo
- Canvas/HTML5 integration
- Batch processing
- WebAssembly
- Build WASM otimizado
- API JavaScript para browser
- Leitura de webcam em tempo real
🌐 Fase 3 - Ecossistema Completo
- Bindings Adicionais
- Go (CGO)
- .NET (P/Invoke)
- C/C++ headers
- Formatos de Legado
- Code39
- ITF-14
- Codabar
- Ferramentas e Utilitários
- CLI tool (
quickcodes generate,quickcodes read) - API REST em Docker
- Benchmarks e performance tests
- CLI tool (
- Recursos Avançados
- Sistema de plugins
- Configurações avançadas de renderização
- Suporte a fontes customizadas
- Watermarks e branding
📜 Legal Disclaimer
QuickCodes é uma biblioteca de software open source para geração e leitura de códigos de barras lineares (1D) e bidimensionais (2D).
Todos os padrões suportados (EAN, UPC, Code128, Code39, ITF-14, Codabar, QR Code, DataMatrix, PDF417, Aztec, entre outros) são especificados por normas ISO/IEC ou por organizações de padronização (como GS1). Esses padrões são de uso livre e isentos de royalties para implementação em software, conforme documentação pública.
⚠️ Observações importantes:
- O termo "QR Code" é uma marca registrada da Denso Wave Inc. O uso nesta biblioteca é apenas descritivo, não implica afiliação ou endosso pela Denso Wave.
- Para a atribuição oficial de códigos de produto (EAN/UPC) em aplicações comerciais (ex.: venda em supermercados), as empresas devem obter prefixos de código junto à organização GS1 em seu país, o que pode envolver taxas e anuidades.
- QuickCodes não fornece números de código de barras oficiais, apenas ferramentas de geração e leitura de imagens conforme os padrões abertos.
📄 Licença
Distribuído sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.
Autor
Márcio Reck
- Portfólio: https://fazmercado.com
- GitHub: @marcioreck
Agradecimentos
- Comunidade: Pelos feedbacks e contribuições
QuickCodes - Desenvolvido por Márcio Reck