Barcodes
Genera y muestra varios tipos de códigos de barras 1D y 2D a partir de valores de campo, bloques o plantillas Twig utilizando la biblioteca PHP TC-LIB-BARCODE.
barcodes
Instalar
composer require 'drupal/barcodes:^2.1'
composer require 'drupal/barcodes:^2.0'
Overview
El módulo Barcodes proporciona capacidades completas de generación de códigos de barras para Drupal. Integra la potente biblioteca PHP tecnickcom/tc-lib-barcode para generar más de 35 tipos diferentes de códigos de barras 1D y 2D, incluyendo códigos QR, Data Matrix, PDF417, EAN, UPC, Code 39, Code 128 y muchos más.
El módulo ofrece múltiples formas de mostrar códigos de barras: como formateador de campo para varios tipos de campo (email, integer, link, string, telephone, text, etc.), como un bloque configurable que puede colocarse en cualquier región, o directamente en plantillas Twig usando un filtro. La integración con el módulo Token permite valores dinámicos de códigos de barras basados en el contexto de la página actual o datos de entidad.
Los formatos de salida incluyen SVG (gráficos vectoriales), PNG (imágenes rasterizadas), elementos HTML DIV, representación de texto Unicode y representación de cadena binaria. Todas las configuraciones de código de barras como tipo, color, dimensiones y relleno son completamente configurables.
Features
- Formateador de campo compatible con 10 tipos de campo: email, integer, link, string, telephone, text, text_long, text_with_summary, bigint y uuid
- Plugin de bloque para mostrar códigos de barras en cualquier región del tema con opciones de configuración completas
- Filtro Twig para generar códigos de barras directamente en plantillas con parámetros personalizables
- Soporte para más de 36 tipos de códigos de barras incluyendo códigos 1D (Code 39, Code 128, EAN, UPC, etc.) y códigos 2D (QR Code, Data Matrix, PDF417, Aztec)
- Cinco formatos de salida: SVG (vectorial), PNG (imagen rasterizada), HTML DIV, texto Unicode y cadena binaria
- Integración con el módulo Token para valores dinámicos de códigos de barras basados en entidades o contexto de página actual
- Comandos Drush para generación de códigos de barras por línea de comandos y listado de formatos
- Apariencia completamente personalizable: color, ancho, alto y relleno en todos los lados
- Opción para mostrar el valor sin procesar junto a la imagen del código de barras
- Biblioteca CSS dedicada para cada tipo de código de barras permitiendo estilos específicos por tipo
Use Cases
Etiquetas de productos con códigos de barras EAN/UPC
Añada un campo de texto o entero a los tipos de contenido de productos y configure el formateador Barcode con tipo EAN-13 o UPC-A. Los productos mostrarán códigos de barras escaneables para comercio minorista que funcionan con lectores de códigos de barras estándar.
Códigos QR enlazando a contenido
Añada un campo de enlace a los tipos de contenido y configúrelo con el formateador Barcode usando el tipo QRCODE. Los visitantes pueden escanear el código QR con sus dispositivos móviles para acceder rápidamente al recurso enlazado.
Entradas de eventos con identificadores únicos
Use el tipo de campo UUID formateado como código de barras (Code 128 o QR Code) para crear entradas únicas y escaneables para eventos. El código de barras puede verificarse en los puntos de entrada.
Códigos QR dinámicos en plantillas de página
Use el filtro Twig en plantillas para generar códigos QR enlazando a la página actual: {{ url('<current>') | barcode(type='QRCODE', width=150, height=150) }}. Útil para hojas de estilo de impresión o compartir páginas.
Códigos QR de información de contacto
Coloque un bloque de código de barras en las páginas de perfil de usuario con un valor basado en tokens conteniendo datos vCard. Los visitantes pueden escanear para añadir información de contacto a sus teléfonos.
Códigos de barras para gestión de inventario
Genere códigos de barras Code 128 o Code 39 desde campos de SKU o ID de inventario para sistemas de gestión de almacenes y seguimiento de existencias.
Generación por lotes de códigos de barras vía Drush
Use el comando drush barcodes:generate en scripts para generar por lotes imágenes de códigos de barras para productos, activos o documentos fuera de la interfaz de Drupal.
Tips
- Elija el formato SVG para códigos de barras que necesiten escalar sin perder calidad, especialmente para aplicaciones de impresión
- Use el formato PNG con la opción --binary en Drush para generar archivos de imagen de códigos de barras directamente desde la línea de comandos
- Para códigos de barras de comercio minorista 1D (EAN, UPC), asegúrese de que sus valores de entrada tengan el número correcto de dígitos incluyendo dígitos de verificación
- Los códigos QR pueden codificar URLs, texto, datos vCard, credenciales WiFi y más - formatee la cadena de valor apropiadamente
- La integración del módulo Token permite codificar valores dinámicos como [node:url] o [current-user:mail] en bloques de códigos de barras
- Cada tipo de código de barras tiene su propia biblioteca CSS, permitiéndole sobrescribir estilos para tipos específicos de códigos de barras en su tema
- Use la opción 'show_value' para mostrar texto legible debajo de los códigos de barras para accesibilidad o como respaldo para entrada manual
Technical Details
Hooks 1
hook_theme
Define hooks de tema para la plantilla base de código de barras y más de 36 variantes de plantilla específicas por tipo de código de barras (ej., barcode__qrcode, barcode__ean13)
Drush Commands 2
drush barcodes:generate
Genera un código de barras con el valor y opciones especificadas. Produce marcado de código de barras o datos binarios.
drush barcodes:formats
Lista todos los tipos/formatos de códigos de barras disponibles soportados por el módulo con sus descripciones.
Troubleshooting 4
Revise los registros de Drupal (admin/reports/dblog) para mensajes de error del canal de registro de barcodes. Los problemas comunes incluyen caracteres inválidos para el tipo de código de barras seleccionado o longitud de valor incorrecta para tipos como EAN-13 que requieren conteos de dígitos específicos.
El formateador Barcode solo funciona con tipos de campo soportados: email, integer, link, string, telephone, text, text_long, text_with_summary, bigint y uuid. Asegúrese de que su campo sea uno de estos tipos.
Asegúrese de que el módulo Token esté instalado y habilitado. El reemplazo de tokens en bloques funciona con tokens de entidad al ver páginas de entidad (nodos, usuarios, etc.).
Aumente las configuraciones de ancho y altura para mejor resolución. Algunos tipos de códigos de barras tienen requisitos mínimos de tamaño. También asegure un contraste adecuado entre el color del código de barras y el fondo.