Genera Códigos QR con Python
Python ofrece potentes bibliotecas de códigos QR como qrcode y segno para scripting, automatización y pipelines de datos. Genera códigos QR localmente o usa la API de QRCode.fun para estilos avanzados.
Instalación
Instala las bibliotecas de códigos QR de Python usando pip.
pip install qrcode[pil]pip install segnoGenera Códigos QR con Bibliotecas de Python
Ejemplos de código usando bibliotecas populares de códigos QR en Python.
Basic QR Code with qrcode
import qrcode
# Simple generation
img = qrcode.make('https://qrcode.fun')
img.save('qrcode.png')
# Advanced with customization
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)
img = qr.make_image(fill_color='#1A2B3C', back_color='white')
img.save('qrcode_custom.png')SVG Output with segno
import segno
qr = segno.make('https://qrcode.fun')
qr.save('qrcode.svg', scale=10)
qr.save('qrcode.png', scale=10, dark='#1A2B3C')QR Code with Logo
import qrcode
from PIL import Image
qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_H)
qr.add_data('https://qrcode.fun')
qr.make(fit=True)
img = qr.make_image(fill_color='#1A2B3C', back_color='white').convert('RGB')
# Add logo
logo = Image.open('logo.png')
logo_size = img.size[0] // 4
logo = logo.resize((logo_size, logo_size))
pos = ((img.size[0] - logo_size) // 2, (img.size[1] - logo_size) // 2)
img.paste(logo, pos)
img.save('qrcode_logo.png')Genera Códigos QR vía API en Python
Llama a la API de QRCode.fun desde Python para generar códigos QR estilizados con colores, formas y logotipos personalizados.
import requests
response = requests.post('https://qrcode.fun/api/generate-qr-styled', 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'
}
})
result = response.json()
# result['data'] contains the base64 PNG data URL
print(result['data'][:50])Vista Previa de Código QR en Vivo
Prueba a generar un código QR con Python ahora mismo.
Biblioteca Nativa vs API
Compara el uso directo de una biblioteca de códigos QR en Python con la API de QRCode.fun.
| Característica | Biblioteca Nativa | QRCode.fun API |
|---|---|---|
| Complejidad de configuración | pip install + Pillow para imágenes | Una sola solicitud HTTP vía requests |
| Personalización | Colores, corrección de errores, tamaño de caja | Estilizado completo: colores, formas, logotipos |
| Soporte sin conexión | Sí | Requiere internet |
| Mantenimiento | Actualizar paquetes manualmente | Siempre actualizado |
| Formatos de salida | PNG, SVG, EPS, terminal | PNG, SVG |
Casos de Uso de Códigos QR en Python
Escenarios comunes donde los desarrolladores de Python generan códigos QR.
Ciencia de Datos e Informes
Incorpora códigos QR en informes automatizados, notebooks de Jupyter y visualizaciones de datos enlazando a dashboards o conjuntos de datos.
Aplicaciones Web (Django/Flask)
Genera códigos QR del lado del servidor en aplicaciones Django o Flask para perfiles de usuario, boletos y tokens de autenticación.
Scripts de Automatización
Crea códigos QR en scripts de procesamiento por lotes para etiquetas de inventario, seguimiento de activos y gestión de documentos.
IoT y Raspberry Pi
Genera códigos QR en dispositivos embebidos para configuración de Wi-Fi, emparejamiento de dispositivos y compartir configuraciones.
Inmersión Profunda en el Ecosistema de Códigos QR en Python
El rico ecosistema de Python lo convierte en uno de los mejores lenguajes para la generación de códigos QR en ciencia de datos, aplicaciones web y automatización.
Patrones de Integración con Django y FastAPI
En Django, la generación de códigos QR encaja naturalmente en la capa de vistas. Crea una vista dedicada que devuelva un HttpResponse con tipo de contenido image/png, o genera URLs de datos base64 para incrustar en plantillas. Los usuarios de FastAPI pueden devolver StreamingResponse con bytes de imagen QR. Ambos frameworks se benefician del cacheo de códigos QR generados con Redis o el framework de caché de Django para evitar la generación redundante de códigos solicitados frecuentemente.
Jupyter Notebook y Flujos de Trabajo de Ciencia de Datos
El ecosistema Jupyter de Python hace de los códigos QR una herramienta poderosa para científicos de datos. Genera códigos QR en línea usando IPython.display para renderizarlos directamente en celdas del notebook. Vincula códigos QR a dashboards interactivos construidos con Plotly Dash o Streamlit. En pipelines de informes automatizados con herramientas como papermill, incrusta códigos QR que enlacen a fuentes de datos en vivo o notebooks complementarios para investigación reproducible.
Pillow, segno y Procesamiento Avanzado de Imágenes
La biblioteca qrcode se integra con Pillow (PIL) para manipulación avanzada de imágenes — agregar logotipos, aplicar degradados de color y componer códigos QR sobre materiales de marketing. segno ofrece una alternativa en Python puro que genera SVG compacto sin dependencia de Pillow, ideal para entornos de servidor con paquetes mínimos. Para sistemas de producción, la salida EPS de segno se integra con flujos de trabajo de impresión profesional, mientras que el renderizado basado en Pillow maneja contenido web dinámico.
Preguntas Frecuentes
Preguntas comunes sobre la generación de códigos QR con Python.
Comienza a generar códigos QR con Python
Usa nuestro generador en línea gratuito o integra la API en tus scripts de Python, aplicaciones Django o pipelines de datos.