Générer des Codes QR avec Ruby
La gem rqrcode de Ruby rend la génération de codes QR simple et élégante. Parfaite pour les applications Rails, scripts et workflows d'automatisation.
Installation
Installez la gem rqrcode avec Bundler ou gem install.
gem 'rqrcode'gem install rqrcodeGénérer des Codes QR avec rqrcode
Exemples de code utilisant la gem rqrcode en Ruby.
QR Code as SVG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
svg = qr.as_svg(
offset: 0,
color: '1A2B3C',
shape_rendering: 'crispEdges',
module_size: 6,
standalone: true
)
File.write('qrcode.svg', svg)QR Code as PNG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
png = qr.as_png(
bit_depth: 1,
border_modules: 4,
color_mode: ChunkyPNG::COLOR_GRAYSCALE,
color: 'black',
file: nil,
fill: 'white',
module_px_size: 6,
resize_exactly_to: false,
resize_gte_to: false,
size: 300
)
IO.binwrite('qrcode.png', png.to_s)Rails Controller
class QrCodesController < ApplicationController
def show
qr = RQRCode::QRCode.new(params[:data] || 'https://qrcode.fun')
svg = qr.as_svg(module_size: 6, standalone: true)
render inline: svg, content_type: 'image/svg+xml'
end
endGénérer des Codes QR via API en Ruby
Appelez l'API QRCode.fun depuis Ruby avec Net::HTTP ou Faraday pour des codes QR stylisés.
require 'net/http'
require 'json'
uri = URI('https://qrcode.fun/api/generate-qr-styled')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = {
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' }
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result['data'][0..49]Aperçu du Code QR en Direct
Essayez de générer un code QR avec Ruby maintenant.
Bibliothèque Native vs API
Comparez l'utilisation de rqrcode avec l'API QRCode.fun.
| Fonctionnalité | Gem rqrcode | QRCode.fun API |
|---|---|---|
| Complexité de configuration | gem install + ChunkyPNG pour les images | Une seule requête HTTP |
| Personnalisation | Couleurs, taille de module (SVG/PNG) | Stylisation complète : couleurs, formes, logos |
| Support hors ligne | Oui | Nécessite internet |
| Maintenance | bundle update | Toujours à jour |
| Formats de sortie | SVG, PNG, terminal ANSI | PNG, SVG |
Cas d'Utilisation des Codes QR en Ruby
Scénarios courants pour les codes QR dans les applications Ruby.
Applications Rails
Générez des codes QR dans les contrôleurs Rails pour les profils utilisateurs, billets d'événements et configuration d'authentification à deux facteurs.
Tâches en Arrière-plan
Créez des codes QR de manière asynchrone avec Sidekiq ou Active Job pour la génération d'étiquettes par lots et les campagnes email.
Endpoints API
Construisez des endpoints API qui retournent des codes QR comme images ou SVG pour les applications mobiles et intégrations tierces.
Scripts d'Automatisation
Écrivez des scripts Ruby pour générer des codes QR en masse pour l'inventaire, l'étiquetage d'actifs et la gestion d'événements.
Plongée Approfondie dans l'Écosystème des Codes QR en Ruby
La syntaxe élégante de Ruby et l'écosystème Rails rendent la génération de codes QR simple et productive pour les applications web.
Contrôleurs Rails, Vues et Active Storage
Dans Rails, générez des codes QR dans les contrôleurs avec rqrcode et servez-les en SVG en ligne ou en téléchargements PNG. Utilisez Active Storage pour persister les codes QR générés comme pièces jointes de modèles — attachez un code QR à un enregistrement Ticket ou Product. La mise en cache de fragments Rails avec des clés basées sur le contenu QR évite la génération redondante. Dans les applications Hotwire/Turbo, générez les codes QR côté serveur et livrez-les via Turbo Frames pour des mises à jour dynamiques sans rechargement complet de page.
Traitement en Arrière-plan avec Sidekiq
Pour la génération en masse de codes QR, déléguez le travail aux workers Sidekiq. Créez un GenerateQrCodeJob qui produit des codes QR pour des scénarios par lots comme la billetterie d'événements, l'étiquetage de produits ou les campagnes de mailing. Utilisez la fonctionnalité de lots de Sidekiq pour suivre l'achèvement des grandes séries de génération QR. La mise en cache Redis avec une clé basée sur le contenu (Digest::SHA256) empêche la génération en double entre les workers et sert les résultats mis en cache pour les demandes répétées.
Écosystème de Gems : rqrcode, ChunkyPNG et MiniMagick
L'écosystème de gems Ruby fournit des pipelines de rendu de codes QR flexibles. rqrcode génère la matrice QR, puis ChunkyPNG la rend en PNG sans dépendance ImageMagick — idéal pour les déploiements conteneurisés. MiniMagick permet un post-traitement avancé : ajout de logos, coins arrondis et arrière-plans en dégradé. Pour la sortie SVG, le moteur SVG intégré de rqrcode crée des codes QR indépendants de la résolution, parfaits pour les designs web responsifs et les supports imprimés.
Questions Fréquemment Posées
Questions courantes sur la génération de codes QR avec Ruby.
Commencez à générer des codes QR avec Ruby
Utilisez notre générateur gratuit ou intégrez l'API dans vos applications Ruby et Rails.