Ir al contenido

OCR Activities

Versión: 1.2.5  ·  ID: zoan-packages-ocr  ·  Autor: Zoan Software

El paquete OCR (Optical Character Recognition, reconocimiento óptico de caracteres) lee el texto que aparece dentro de una imagen: un documento escaneado, una foto de un documento, una captura de pantalla. Es el complemento del paquete PDF: cuando un documento es una imagen (no tiene texto seleccionable), las actividades de PDF no pueden leerlo — pero OCR sí.

Usa el motor Tesseract 5 en modo LSTM, un reconocedor de texto de código abierto ampliamente usado, con preprocesado de imagen basado en OpenCV. Los idiomas español e inglés vienen incluidos en el paquete: no hay que instalar nada más. El reconocimiento corre en la máquina del robot (sin enviar las imágenes fuera) y el paquete funciona en robots Windows.

Las actividades que leen archivos aceptan imágenes .png, .jpg, .bmp y .tiff. Para un PDF escaneado, convierte antes sus páginas a imágenes con PDF to Images y pasa cada imagen al OCR.

Casi todas las actividades aceptan un parámetro language con el código del idioma del texto a reconocer:

ValorIdioma
engInglés (por defecto)
spaEspañol
eng+spaVarios idiomas a la vez

También acepta etiquetas regionales como es-CO o en-US, que se traducen al código de Tesseract (es → spa, en → eng; también pt, fr, de, it y ca). Una etiqueta que no se reconoce se trata como inglés. Un código que no está instalado produce el error No se encontró el idioma de Tesseract '…', con la lista de los disponibles.

Indicar el idioma correcto mejora mucho la precisión (por los acentos, la ñ, etc.). Para texto en español, usa siempre language = "spa". Para ver qué idiomas están disponibles, usa OCR Get Available Languages.

El parámetro preprocess aplica una limpieza a la imagen antes de reconocerla, lo que mejora el resultado en escaneos de mala calidad. Lo tienen OCR Recognize File y las tres actividades de extracción estructurada:

ValorQué hace
noneSin preprocesado (por defecto, salvo en OCR Extract Table, que usa auto)
autoLimpieza completa: escala de grises, quita ruido, binariza y endereza
deskewSolo endereza una imagen torcida (gira si la inclinación supera unos 0,3°)
binarizeConvierte a blanco y negro con umbral adaptativo (mejora el contraste)

La imagen original no se modifica: la limpieza se hace en memoria.

Las actividades que devuelven posiciones (OCR Find Text, OCR Get Lines) usan píxeles con origen en la esquina superior izquierda de la imagen analizada: la del archivo o, en pantalla, la de la región capturada. Para obtener coordenadas de pantalla, suma la x/y de la región.

ActividadTipoSalidaQué hace
OCR Recognize Fileocr-recognizestringLee el texto de un archivo de imagen
OCR Recognize Screen Regionocr-recognize-regionstringLee el texto de un área de la pantalla
OCR Screenshotocr-screenshotstringLee todo el texto de una pantalla
ActividadTipoSalidaQué hace
OCR Find Textocr-find-textobjectEncuentra la posición de un texto
OCR Get Linesocr-get-linesList<object>Lista estructurada de líneas y palabras con coordenadas
ActividadTipoSalidaQué hace
OCR Extract Patternocr-extract-patternDictionary<string, string>Extrae campos con expresiones regulares
OCR Extract Form Fieldsocr-extract-formDictionary<string, string>Extrae texto de regiones nombradas
OCR Extract Tableocr-extract-tableDataTableExtrae una tabla de una imagen a una DataTable
ActividadTipoSalidaQué hace
OCR Get Available Languagesocr-get-languagesList<string>Idiomas disponibles

Leer una factura escaneada y extraer su número:

OCR Recognize File path = rutaImagen language = "spa" preprocess = "auto" → output: texto
Set Variable name = numero value = regexFind(texto, "FAC-\d+")