text_recognition_camera 0.0.6
text_recognition_camera: ^0.0.6 copied to clipboard
A Flutter library for text recognition using device camera and Google ML Kit with pattern matching support.
Text Recognition Camera v0.0.6 #
A Flutter widget for capturing images and recognizing text using Google ML Kit, with support for pattern searching using regular expressions.
Features #
- 📸 Image capture from camera or gallery
- 🔍 Text recognition using Google ML Kit
- 🎯 Pattern search using regular expressions
- 🎨 Fully customizable interface
- 🌓 Dark mode support
- 📱 Responsive and adaptable design
- 📄 Initial image support
- 💾 Returns recognized text and image path
Installation #
dependencies:
text_recognition_camera: ^0.0.6
Usage #
final result = await showDialog<RecognitionResult>(
context: context,
builder: (context) => const TextRecognitionCamera(
title: "Scan text",
pattern: r'(\d+)', // Pattern to find numbers
notFoundMessage: "No number found",
successMessage: "Number found:",
width: 450,
height: 700,
backgroundColor: Color(0xFFFAFAFA),
primaryColor: Color(0xFF1976D2),
successColor: Color(0xFF388E3C),
errorColor: Color(0xFFD32F2F),
// Theme support parameters
textColor: Colors.black87,
secondaryTextColor: Colors.black54,
buttonBackgroundColor: Colors.grey[100],
buttonForegroundColor: Colors.grey[800],
containerBackgroundColor: Colors.grey[100],
),
);
if (result != null) {
print('Recognized text: ${result.text}');
print('Image path: ${result.imagePath}');
}
Parameters #
title: Title that appears at the top of the dialogpattern: Regular expression as string to search in recognized textnotFoundMessage: Message to show when pattern is not foundsuccessMessage: Message to show when pattern is foundwidth: Dialog widthheight: Dialog heightbackgroundColor: Dialog background colorprimaryColor: Primary color for buttons and interactive elementssuccessColor: Color for success messageserrorColor: Color for error messagesinitialImagePath: Path to an initial image to process (optional)imageQuality: Compression quality from 0 to 100 (optional, default 85)maxWidth: Maximum width for the captured image (optional)maxHeight: Maximum height for the captured image (optional)preferredCameraDevice: Preferred camera to use (optional, default back camera)compressionEnabled: Enable/disable image compression (optional, default true)textColor: Main text color (optional, uses theme if not specified)secondaryTextColor: Secondary text and icons color (optional, uses theme if not specified)buttonBackgroundColor: Background color for buttons (optional, uses theme if not specified)buttonForegroundColor: Text color for buttons (optional, uses theme if not specified)containerBackgroundColor: Background color for containers (optional, uses theme if not specified)loadingColor: Color for the loading indicator (optional)errorBackgroundColor: Background color for error messages (optional)
Example #
The package includes a complete example that shows how to implement a 12-digit serial number scanner. To run the example:
cd example
flutter run
License #
This project is under the MIT license - see the LICENSE file for details.
Text Recognition Camera v0.0.6 #
Un widget de Flutter para capturar imágenes y reconocer texto utilizando Google ML Kit, con soporte para búsqueda de patrones mediante expresiones regulares.
Características #
- 📸 Captura de imágenes desde cámara o galería.
- 🔍 Reconocimiento de texto usando Google ML Kit.
- 🎯 Búsqueda de patrones usando expresiones regulares.
- 🎨 Interfaz totalmente personalizable.
- 🌓 Soporte para modo oscuro.
- 📱 Diseño responsivo y adaptable.
- 📄 Soporte para imagen inicial.
- 💾 Devolución del texto reconocido y ruta de la imagen.
Instalación #
dependencies:
text_recognition_camera: ^0.0.6
Uso #
final result = await showDialog<RecognitionResult>(
context: context,
builder: (context) => const TextRecognitionCamera(
title: "Escanear texto",
pattern: r'(\d+)', // Patrón para encontrar números
notFoundMessage: "No se encontró ningún número",
successMessage: "Número encontrado:",
width: 450,
height: 700,
backgroundColor: Color(0xFFFAFAFA),
primaryColor: Color(0xFF1976D2),
successColor: Color(0xFF388E3C),
errorColor: Color(0xFFD32F2F),
// Parámetros de soporte para temas
textColor: Colors.black87,
secondaryTextColor: Colors.black54,
buttonBackgroundColor: Colors.grey[100],
buttonForegroundColor: Colors.grey[800],
containerBackgroundColor: Colors.grey[100],
),
);
if (result != null) {
print('Texto reconocido: ${result.text}');
print('Ruta de la imagen: ${result.imagePath}');
}
Parámetros #
title: Título que aparece en la parte superior del diálogo.pattern: Expresión regular como cadena para buscar en el texto reconocido.notFoundMessage: Mensaje para mostrar cuando no se encuentra el patrón.successMessage: Mensaje para mostrar cuando se encuentra el patrón.width: Ancho del diálogo.height: Altura del diálogo.backgroundColor: Color de fondo del diálogo.primaryColor: Color primario para botones y elementos interactivos.successColor: Color para mensajes de éxito.errorColor: Color para mensajes de error.initialImagePath: Ruta a una imagen inicial para procesar (opcional).imageQuality: Calidad de compresión de 0 a 100 (opcional, predeterminado 85).maxWidth: Ancho máximo para la imagen capturada (opcional).maxHeight: Altura máxima para la imagen capturada (opcional).preferredCameraDevice: Cámara preferida para usar (opcional, cámara trasera predeterminada).compressionEnabled: Activar/desactivar la compresión de imagen (opcional, predeterminado true).textColor: Color del texto principal (opcional, usa el tema si no se especifica).secondaryTextColor: Color de texto secundario e iconos (opcional, usa el tema si no se especifica).buttonBackgroundColor: Color de fondo para botones (opcional, usa el tema si no se especifica).buttonForegroundColor: Color de texto para botones (opcional, usa el tema si no se especifica).containerBackgroundColor: Color de fondo para contenedores (opcional, usa el tema si no se especifica).loadingColor: Color para el indicador de carga (opcional).errorBackgroundColor: Color de fondo para mensajes de error (opcional).
Ejemplo #
El paquete incluye un ejemplo completo que muestra cómo implementar un escáner de números de serie de 12 dígitos. Para ejecutar el ejemplo:
cd example
flutter run
Licencia #
Este proyecto está bajo la licencia MIT - ver el archivo LICENSE para más detalles.