OCR Extract Form Fields
OCR Extract Form Fields
Sección titulada «OCR Extract Form Fields»Tipo: ocr-extract-form · Paquete: OCR Activities v1.2.5 · Salida: Dictionary<string, string>
Desde: v1.2.0
Extrae texto de regiones rectangulares nombradas de una imagen. Defines, por cada campo, la zona (caja x, y, w, h) donde está su valor, y la actividad hace OCR solo en esa zona. Ideal para formularios de formato fijo (siempre la misma plantilla), donde cada dato está siempre en el mismo lugar.
Cómo funciona
Sección titulada «Cómo funciona»Por cada campo del diccionario fields, recorta la región indicada de la imagen, le aplica el preprocesado y el OCR, y guarda el texto (sin espacios ni saltos de línea al inicio y al final) bajo ese nombre.
- Las coordenadas son píxeles de la imagen, con origen en su esquina superior izquierda. Una región que se sale de la imagen se recorta a sus bordes.
- Cada campo es un reconocimiento aparte: con muchos campos, la actividad tarda proporcionalmente más.
- Como las coordenadas dependen del tamaño de la imagen, todas las imágenes deben tener la misma resolución que la usada para medir las regiones (por ejemplo, escaneadas siempre a 300 DPI).
Parámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
path | string | — | Ruta del archivo de imagen (.png, .jpg, .bmp, .tiff). |
fields | Dictionary | — | Diccionario nombreCampo → { "x": …, "y": …, "w": …, "h": … } con la región en píxeles (enteros). |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
language | string | "eng" | Idioma del texto: código de Tesseract (eng, spa, eng+spa) o etiqueta regional (es-CO). Ver idioma. |
preprocess | string | "none" | Limpieza previa de cada región: none · auto · deskew · binarize. Ver preprocesado. |
Devuelve un Dictionary<string, string> con una clave por cada campo de fields y el texto reconocido en su región. Un campo cuya región no es un objeto { x, y, w, h }, o cuya zona no tiene texto legible, queda con "".
Ejemplo
Sección titulada «Ejemplo»Extraer datos de un formulario siempre con el mismo diseño:
OCR Extract Form Fields path = rutaFormulario language = "spa" fields = { "nombre": { "x": 120, "y": 80, "w": 300, "h": 30 }, "documento":{ "x": 120, "y": 130, "w": 200, "h": 30 }, "fecha": { "x": 420, "y": 80, "w": 150, "h": 30 } } → output: datos
Log message = "Formulario de " + datos["nombre"] + " (" + datos["documento"] + ")"Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa y solución |
|---|---|
'fields' es obligatorio. | Falta fields. |
'fields' debe ser un diccionario que asocie nombres de campo con objetos de región { x, y, w, h }. | fields no es un objeto { campo: región }. |
El campo '…' debe declarar x, y, w, h enteros. Recibido: … | A la región de ese campo le falta una clave o un valor no es numérico. Usa exactamente x, y, w, h. |
No se encontró el archivo. | La ruta de path no existe en la máquina del robot. |
No se encontró el idioma de Tesseract '…' en '…'. Disponibles: [eng, spa]. | El código de language no está instalado. |
Actividades relacionadas
Sección titulada «Actividades relacionadas»- OCR Extract Pattern — extraer por patrón regex.
- OCR Get Lines — ver las coordenadas de cada línea para medir las regiones.
- OCR Recognize Screen Region — leer una región de la pantalla.