Impresión de códigos de barras en formularios OMR

Formulario OMR con código de barras

Una vez impresos los formularios en imprenta, podemos personalizarlos imprimiéndoles un código de barras, que puede ser diferente en cada hoja o por conjuntos de hojas.

Este código de barras puede tener diversos usos, por ejemplo:

  • En aquellos casos en los que se trabaja con varios modelos de formularios, permiten relacionar los diferentes formularios asociados a una misma persona y garantizar su tratamiento conjunto, incluso cuando los formularios de varias personas han sido mezclados en su recogida o transporte.
  • Generar ficheros en formato PDF resultado del escaneo y almacenamiento conjunto de todos los formularios que comparten un mismo código de barras.
  • Permiten realizar exámenes y oposiciones con anonimato, asociando el área de identificación de la persona con el área de destinada a sus respuestas mediante dos códigos de barras:
    • Estos dos códigos de barras pueden ser idénticos.
    • También puede ser el código de barras del área de las respuestas resultado de una función de transformación biunívoca del código de barras del área de identificación.
    Para el caso de la localización de formularios con anonimato también proporcionamos el servicio de programación de localizadores de formularios de respuesta a partir de formularios de identificación:
    • mediante la lectora óptica de marcas o
    • por selección de imágenes digitales siempre y cuando hayan sido escaneadas.

Escaneado de formularios OMR

Además de leer formularios y proporcionar el contenido de sus respuestas, podemos escanear los formularios y almacenar su imagen digital.

Este almacenamiento de imágenes digitales se ofrece en dos modalidades:

  • Formulario a formularios en el formato gráfico que se requiera, por ejemplo, en formatos GIF, PNG, JPEG, etc.
  • Ficheros en formato PDF resultado del escaneo y almacenamiento conjunto de todos los formularios que comparten, por ejemplo, una misma identificación de persona o un mismo código de barras como se muestra en la siguiente figura.
Formularios OMR escaneados y almacenados en PDF

Estructura de un formulario de lectura óptica

La estructura del formulario de lectura óptica (a veces denominado también hoja para lectora óptica) se basa en 3 elementos fundamentales clocks, columnas y casillas de marca que se describen a continuación:

  1. Clocks:
    • Son las marcas rectangulares en tinta negra en uno de los bordes de la hoja, usualmente en el lado derecho.
    • Cada marca señala una línea de lectura, esto es, su existencia indica a la lectora una fila en la que puede haber casillas de marcas para lectura.
    • Si una fila tiene casillas de marca, pero no tiene su clock asociado, entonces dichas casillas nunca serán leídas.
    • Si los clocks de un formulario están deteriorados o sobre-escritos, entonces, lo esperable, es que la lectora tenga problemas de sincronismo al leer dicho formulario.
    • La distancia entre clocks, tradicionalmente, ha sido de 1/6 de pulgada. Se empleaba esta distancia por compatibilidad con las antiguas impresoras de carro que, a veces, se utilizaban para rellenar de forma previa algunas casillas de determinados formularios para personalizarlos, por ejemplo, marcando el DNI para cada persona que iba a rellenar el formulario en un examen u oposición.
    • Pero realmente, la distancia entre clocks puede ser cualquiera, por ejemplo, de 1/5 de pulgada u otras distancias.
    • El máximo de clocks para los formularios en hojas DIN A4 es de 70 y el máximo de clocks para los formularios en folio es de 74, si bien hay que hacer notar que llevar al máximo el número de clocks aumenta la probabilidad de errores, por lo que los máximos habituales para una DINA A4 suelen estar entre 52 y 64 clocks.
  2. Columnas:
    • La lectora posee un conjunto de sensores con fotocélulas (o células fotoeléctricas), un sensor por cada columna formando una línea de sensores.
    • Es por ello que también se les denomina canales de lectura (bajo cada canal pasan todas las casillas de su columna) y al conjunto de sensores con fotocélulas peine de lectura.
    • Las lectoras pueden tener un peine para leer formularios a una sola cara o dos peines para leer formularios impresos y rellenos por las dos caras.
    • Los sensores con fotocélulas sirven para leer las casillas de marca que se ponen en el formulario de lectura.
    • Lo usual en Europa es que los peines de lectura vengan preparados para formularios de 40 columnas, a intervalos de 1/5 de pulgada, pero también hay peines con 48 columnas, a intervalos de 1/6 pulgada, más habituales en los Estados Unidos.
    • Por lo que podemos considerar que para las lectoras ópticas europeas la distancia entre canales de lectura es fija y corresponde a la distancia entre sensores con fotocélulas de 1/5 de pulgada.
    • Todos los ejemplos de formularios que pueden consultarse en OMRForms.es correspondes a distancias de 1/5 de pulgada entre columnas.
    • Es por ello, que si la distancia entre clocks se pone también a 1/5 de pulgada, entonces las casillas de marca se conforman como una cuadrícula exacta.
  3. Casillas de marca:
    • Cada casilla queda definida por su fila y su columna y son el sitio donde las personas que rellenan el formulario ubican sus marcas a bolígrafo o lápiz dependiendo de lo que deseen contestar.
    • Toda marca que esté fuera de estas casillas de marca, bien de forma intencionada para señalar algo o por error, no será leída por la lectora óptica.
    • Los bordes de las casillas se han de imprimir con una tinta que no sea visible para los sensores con fotocélulas. Esto es, una tinta que carezca de componente negro. Por ejemplo, algunas tintas naranjas (que es el color que recomendamos en OMRForms.es) y también tintas rojas e, incluso, tintas rosas.
    • En la siguiente imagen pueden verse los clocks en tinta negra y una matriz de las casillas de marca en tinta naranja, organizada por filas y columnas.
Clocks, columnas y casillas de marca para OMR

Visión en detalle de un formulario para lectora óptica

La siguiente figura muestra un formulario OMR en detalle:

  • Los campos para la información escrita, nombre, apellidos y fecha, que no se leen junto con el área para firmar.
  • El campo para la introducción del DNI junto con un ejemplo de DNI ya marcado a su izquierda.
  • Otros campos para la introducción del número, el tipo de examen, el grupo y la sección.
  • Un ejemplo de cómo se han de rellenar las casillas de marcas y cómo no hay que hacerlo.
  • La columna vertical de clocks a la derecha del formulario, cada fila con casillas de marcas útiles tiene su clock a la derecha.
  • Una fila horizontal de casillas ya marcadas en negro previamente en imprenta que tienen una doble función, separar visualmente el área de identificación de la persona de, en este caso, el área de examen.
  • Un área de examen con hasta 150 respuestas que pueden ser de 2 tipos, verdadero o falso o de tipo test con 5 opciones. Para facilitar la cumplimentación las 150 preguntas de examen se estructuran en 5 columnas y, dentro de cada columna, en grupos de 5 preguntas de hasta 5 respuestas.
  • Finalmente, abajo del todo, nuestra identificación de diseño e impresión de http://www.omrforms.es.
Formularios OMR escaneados y almacenados en PDF

Leer formularios con JBLee y sacar los resultados a Excel

El objetivo de este apartado es explicar cómo se utiliza un programa de lectora óptica específicamente programado para ser utilizado con el módulo JBLee (Comaof) para generar ficheros de texto plano, separados por puntos y comas (.csv), que pueden abrirse con Excel de Microsoft.

El programa de lectura, usualmente, lo enviamos por correo electrónico, con un nombre de archivo (fichero) que hace referencia al tipo de formulario que se va a leer y con la extensión ".wjb", por ejemplo, los nombres de archivos "docencia.wjb", para evaluación de la docencia, "exa_conf.wjb", para formularios de exámenes, etc.

Cuando se reciben por correo electrónico estos ficheros hay que guardarlos en el computador en el directorio de definiciones de formularios que se desee.

A continuación, una vez guardado el programa, hay que ejecutar "Lectura TXT – Lectura Directa" (ver el recuadrado en rojo en la siguiente figura) desde el programa Lanzador, o bien "Lectura a fichero de texto" de los "Programas de lectura óptica".

Lanzador para la lectura de formularios OMR

Para ello se marca utilizando el cursor en forma de lápiz como se muestra en la siguiente figura:

Lectura TXT – Lectura Directa de formularios OMR

Elegimos el archivo de programa recibido, por ejemplo, el anterior "docencia.wjb", dentro del directorio en el que se ha guardado pulsando en el botón con tres puntos que hay al lado de "Ficheros de formato", como se muestra en la figura:

Tres puntos que hay al lado de Ficheros de formato para lectura óptica

Aparecerá un cuadro de diálogo que nos permitirá "navegar" por los directorios, y elegir el archivo de programa que se guardó anteriormente en el computador.

Selección del archivo de programa para la lectora óptica

Luego pulsamos el botón con tres puntos que hay más abajo, al lado de "Fichero de salida", y de modo similar elegimos el nombre del archivo de salida, comprobando que en el "Tipo:" elegimos "Todos los ficheros (*.*)", en vez de "Ficheros de texto (*.txt)" y que la extensión que le damos es ".csv". Por ejemplo, "prueba.csv", en este caso en el directorio "agronomos". El archivo de salida puede estar en el mismo o en diferente directorio al archivo del programa.

Selección del archivo de programa para la lectora óptica

Los archivos con extensión .csv son un tipo de ficheros Excel, en donde cada línea (registro) corresponderá a un formulario leído y cada columna a uno de los campos de entrada del modelo de formulario. Si se ha pedido el programa para ser leído directamente por Excel, lo realizamos de forma, que cada campo se separa por un ";" y, así, el archivo de salida tiene la estructura de un archivo ".csv" de Excel.

A continuación se carga la lectora óptica con formulario y se pulsa el botón de "Leer", siguiendo tras cada lote con el botón de "Más documentos" y terminando con los botones "Fin lectura" y "Salir". Durante el proceso de lectura, en la "Ventana de lectura" se va visualizando el contenido leído de los formularios.

Proceso de lectura óptica de marcas

El archivo de salida con los datos leídos de los formularios, por ejemplo, "prueba.csv" se puede abrir con Excel como se muestra a continuación:

Archivo de salida de la lectura óptica de marcas