Textimage
Un módulo que proporciona funcionalidad de generación de texto sobre imagen utilizando el efecto Text overlay de Image Effects, permitiendo la creación dinámica de imágenes con texto superpuesto.
textimage
Instalar
composer require 'drupal/textimage:8.x-4.6'
composer require 'drupal/textimage:8.x-4.3'
Overview
Textimage es un potente módulo de Drupal que añade funcionalidad de texto a imagen utilizando las bibliotecas GD2 y FreeType. Se integra profundamente con el efecto 'Text overlay' del módulo Image Effects para generar imágenes con superposiciones de texto personalizables de forma dinámica.
El módulo proporciona formateadores de visualización de campo tanto para campos de texto como de imagen, permitiendo a los editores de contenido generar automáticamente imágenes estilizadas a partir de los valores de los campos. También ofrece una API programática completa para que los desarrolladores generen imágenes Textimage dinámicamente. El soporte de Token permite el reemplazo dinámico de texto basado en contextos de nodo, usuario y archivo.
Textimage soporta múltiples métodos de generación: mediante formateadores de campo en visualizaciones de tipos de contenido, mediante generación directa por URL para usuarios autorizados, o programáticamente a través de su servicio factory. Las imágenes generadas se almacenan en caché utilizando identificadores basados en SHA256 para un rendimiento óptimo, y soportan tanto esquemas de almacenamiento de archivos públicos como privados.
Features
- Se integra con el efecto 'Text overlay' del módulo Image Effects para reemplazar el texto predeterminado con valores de campo dinámicos o texto proporcionado por API
- Formateadores de visualización de campo para campos de texto (text, text_long, text_with_summary, string, string_long) y campos de imagen que renderizan contenido como imágenes Textimage estilizadas
- API completa de Textimage mediante el servicio TextimageFactory para generación programática de imágenes con interfaz fluida
- Soporte de Token para reemplazo dinámico de texto incluyendo tokens de contexto de nodo, usuario y archivo
- Generación directa de imágenes Textimage basada en URL (requiere permiso) utilizando separadores de texto configurables
- Opción de construcción diferida de imagen que pospone la generación de imagen a una solicitud separada para mejor rendimiento
- Mecanismo de caché con IDs basados en SHA256 para evitar regenerar imágenes idénticas
- Soporte para esquemas de almacenamiento de archivos públicos y privados por estilo de imagen
- Modo de generación de imágenes temporales para vistas previas e imágenes de un solo uso (limpiadas en cron)
- Tokens personalizados de Textimage ([node:textimage-uri:...] y [node:textimage-url:...]) para obtener ubicaciones de imágenes generadas
- Formato de imagen predeterminado configurable (PNG, JPEG, GIF) con capacidad de anulación por estilo
- Extensión de estilo de imagen con opciones específicas de Textimage incluyendo esquema de destino de archivo
Use Cases
Encabezados dinámicos y tipografía
Crear encabezados visualmente ricos convirtiendo campos de texto en imágenes estilizadas con fuentes personalizadas. Útil para sitios que requieren tipografía de marca consistente que no se puede lograr solo con fuentes web, como logos, titulares artísticos o tipografías especiales.
Imágenes personalizadas
Generar imágenes personalizadas usando tokens como [node:author:name] o [current-user:name] para crear gráficos personalizados que muestren contenido específico del usuario, como insignias personalizadas, certificados o mensajes de bienvenida.
Marcas de agua en imágenes
Usar el formateador de campo Image para superponer texto (como avisos de copyright, créditos de fotógrafo o marca del sitio) en imágenes subidas automáticamente durante la visualización.
Imágenes para redes sociales
Generar imágenes Open Graph o Twitter Card dinámicamente combinando títulos de artículos con imágenes de fondo, asegurando que cada pieza de contenido tenga una imagen de compartir social única y con marca.
Etiquetas de productos de comercio electrónico
Crear imágenes de productos dinámicas con texto superpuesto para precios, descuentos o estado de disponibilidad que se actualizan basándose en los valores de campos del producto.
Generación de imágenes multilingüe
Generar imágenes con texto en diferentes idiomas usando contenido reemplazado por tokens de campos traducidos, asegurando que las imágenes muestren texto apropiado específico del idioma.
Tips
- Al crear estilos de imagen para Textimage, añada múltiples efectos Text overlay si necesita colocar texto en diferentes posiciones o con diferentes estilos en la misma imagen.
- Use la opción 'Diferir construcción' para formateadores de campos de texto para mejorar los tiempos de carga de página generando imágenes en una solicitud separada.
- Para mejor rendimiento con sitios de alto tráfico, asegúrese de que las imágenes generadas se sirvan a través de CDN o caché de proxy inverso.
- El separador de texto para generación por URL (predeterminado: ---) puede personalizarse, pero evite usar caracteres que puedan aparecer en el contenido de su texto.
- Establezca el destino de imagen a 'private' en las opciones de Textimage del estilo de imagen si necesita control de acceso para las imágenes generadas.
- Los archivos temporales de Textimage (creados con setTemporary(TRUE) en la API) se limpian automáticamente durante las ejecuciones de cron.
Technical Details
Admin Pages 2
/admin/config/media/textimage
Configurar los ajustes globales de Textimage incluyendo formato de imagen predeterminado, fuente predeterminada, opciones de generación por URL y utilidades de mantenimiento.
/admin/config/media/textimage/cleanup
Formulario de confirmación para eliminar todos los archivos de imagen generados mediante Textimage, vaciar todos los estilos de imagen y limpiar la caché de Textimage.
Permisos 1
Hooks 8
hook_file_download
Controla el acceso a archivos bajo los directorios de textimage. Devuelve las cabeceras apropiadas para imágenes válidas en la ruta de textimage.
hook_cron
Limpia archivos de imagen temporales de Textimage de todos los esquemas de archivo disponibles en las ejecuciones de cron.
hook_cache_flush
Devuelve 'textimage' como un bin de caché a vaciar durante operaciones de limpieza de caché.
hook_token_info
Define tokens de Textimage para obtener URI y URL de imágenes generadas.
hook_tokens
Proporciona reemplazos para tokens de Textimage basados en configuraciones de campos de nodo.
hook_image_style_flush
Maneja la limpieza específica de Textimage cuando un estilo de imagen es vaciado.
hook_image_style_presave
Establece ajustes de terceros predeterminados de Textimage en estilos de imagen antes de que sean guardados.
hook_form_image_style_form_alter
Añade un fieldset 'Opciones de Textimage' a los formularios de edición de estilos de imagen para configurar opciones específicas de Textimage.
Troubleshooting 6
Asegúrese de haber creado al menos un estilo de imagen que contenga un efecto 'Text overlay' del módulo Image Effects. Solo los estilos con efectos Text overlay son reconocidos como compatibles con Textimage.
Verifique que: 1) El archivo de fuente es accesible y está correctamente configurado en los ajustes de Image Effects, 2) GD2 con FreeType está habilitado en PHP, 3) Los permisos del sistema de archivos permiten escribir en el directorio de archivos públicos/privados.
Asegúrese de que el contexto del token está disponible. Los tokens de nodo requieren que el campo esté adjunto a una entidad de nodo. Los tokens de usuario usan el usuario actual. Los tokens de archivo solo están disponibles para formateadores de campo Image.
La generación basada en URL requiere el permiso 'Generar derivados de URL de Textimage'. Otorgue este permiso a los roles de usuario apropiados.
Evite usar tokens de Textimage dentro de campos que ellos mismos se están mostrando como Textimage. El módulo detecta y previene bucles infinitos, registrando un mensaje de advertencia.
Limpie la caché de Textimage usando el botón 'Limpiar Textimage' en la página de ajustes, o vacíe el estilo de imagen específico para regenerar las imágenes en caché.
Security Notes 3
- La generación basada en URL está deshabilitada por defecto. Cuando está habilitada, solo los usuarios con el permiso 'Generar derivados de URL de Textimage' pueden generar imágenes mediante URL.
- Textimage respeta los controles de acceso a archivos - las imágenes almacenadas en almacenamiento de archivos privado requieren permisos de acceso adecuados para visualizarse.
- El reemplazo de tokens es consciente del contexto y solo resuelve tokens para los cuales el usuario tiene acceso a los datos subyacentes.