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
1,718 sites
29
drupal.org

Instalar

Drupal 11, 10 v8.x-4.6
composer require 'drupal/textimage:8.x-4.6'
Drupal 9 v8.x-4.3
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
Ajustes de Textimage /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.

Limpiar Textimage /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
Generar derivados de URL de Textimage

Permite a los usuarios generar derivados de Textimage directamente desde una solicitud URL. Esto es requerido para el método de generación basado en URL.

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
No hay estilos Textimage disponibles en el desplegable del formateador

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.

Las imágenes generadas no se muestran

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.

Los tokens no se están reemplazando en el texto

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 por URL devuelve 403 Prohibido

La generación basada en URL requiere el permiso 'Generar derivados de URL de Textimage'. Otorgue este permiso a los roles de usuario apropiados.

Errores de referencia circular de tokens en los registros

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.

Las imágenes no se actualizan después de cambios en el contenido

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.