Biblioteca de Códigos QR em Rust

Gere Códigos QR com Rust

O crate qrcode de Rust fornece geração de códigos QR rápida e segura em memória. Ideal para aplicações de alto desempenho, WebAssembly e ferramentas de nível de sistema.

Instalação

Adicione o crate qrcode ao seu Cargo.toml.

Cargo.toml
[dependencies]
qrcode = "0.14"
image = "0.25"  # For PNG output

Gerar Códigos QR com Rust

Exemplos de código usando o crate qrcode.

QR Code as SVG
use qrcode::QrCode;
use qrcode::render::svg;

fn main() {
    let code = QrCode::new("https://qrcode.fun").unwrap();
    let svg = code.render::<svg::Color>()
        .min_dimensions(200, 200)
        .build();

    std::fs::write("qrcode.svg", &svg).unwrap();
    println!("SVG QR code saved!");
}
QR Code as PNG
use qrcode::QrCode;
use image::Luma;

fn main() {
    let code = QrCode::new("https://qrcode.fun").unwrap();
    let image = code.render::<Luma<u8>>()
        .dark_color(Luma([26u8]))
        .light_color(Luma([255u8]))
        .quiet_zone(true)
        .min_dimensions(300, 300)
        .build();

    image.save("qrcode.png").unwrap();
    println!("PNG QR code saved!");
}
QRCode.fun API

Gerar Códigos QR via API em Rust

Chame a API do QRCode.fun a partir de Rust usando reqwest para códigos QR estilizados.

Integração de API Rust
use reqwest;
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = reqwest::Client::new();
    let response = client
        .post("https://qrcode.fun/api/generate-qr-styled")
        .json(&json!({
            "data": "https://qrcode.fun",
            "width": 300,
            "height": 300,
            "type": "png",
            "margin": 10,
            "dotsOptions": { "color": "#1A2B3C", "type": "rounded" },
            "cornersSquareOptions": { "color": "#8564C3", "type": "extra-rounded" },
            "backgroundOptions": { "color": "#FFFFFF" }
        }))
        .send()
        .await?;

    let result: serde_json::Value = response.json().await?;
    println!("{}", &result["data"].as_str().unwrap()[..50]);
    Ok(())
}

Pré-visualização de Código QR ao Vivo

Experimente gerar um código QR com Rust agora mesmo.

Pré-visualização QR

Biblioteca Nativa vs API

Compare o uso do crate qrcode com a API do QRCode.fun.

FuncionalidadeCrate qrcodeQRCode.fun API
Complexidade de configuraçãocargo add + crate image para PNGUma única requisição HTTP via reqwest
PersonalizaçãoCores via crate imageEstilização completa: cores, formas, logotipos
Suporte offlineSimRequer internet
Manutençãocargo updateSempre atualizado
Formatos de saídaSVG, PNG (com crate image), terminalPNG, SVG

Casos de Uso de Códigos QR em Rust

Cenários comuns para códigos QR em aplicações Rust.

WebAssembly

Compile a geração de QR para WASM para criação ultrarrápida de códigos QR no navegador sem bibliotecas JavaScript.

Ferramentas CLI

Construa utilitários de linha de comando que geram códigos QR para exibição no terminal, saída de ficheiro ou integração com área de transferência.

Servidores de Alto Desempenho

Gere códigos QR em servidores web Actix ou Axum com alocação mínima de memória e rendimento máximo.

Sistemas Embebidos

Execute geração de códigos QR em dispositivos com recursos limitados onde as abstrações de custo zero do Rust brilham.

Perguntas Frequentes

Perguntas comuns sobre a geração de códigos QR com Rust.

O crate qrcode é a escolha mais popular. Gera códigos QR como strings SVG ou como matriz que pode renderizar com o crate image.

Comece a gerar códigos QR com Rust

Use o nosso gerador gratuito ou integre a API nas suas aplicações Rust.