Python: Generación de códigos de barras y contabilización de formularios PDF duplicados

Esto es un poco complicado, así que por favor quédate conmigo.

Estoy trabajando en un proyecto de “Vigilancia judicial”, que consiste en pedirles a los voluntarios que lleven formularios con ellos e indicar qué sucede durante un juicio / audiencia en salas específicas.

Este es el formulario (redacciones para privacidad).

Tenemos cientos de ellos llenos de voluntarios. Ahora, ya que estos son documentos escritos a mano , necesitan ser transcritos por otros voluntarios en una hoja de cálculo. Estamos utilizando formularios de Google y voluntarios para manejar esto.

Sin embargo, necesitamos una clave principal para estos datos y una forma de manejar los duplicados.

Los duplicados ocurren cuando dos voluntarios se sientan en la misma sala y llenan formularios diferentes en la misma audiencia. Queremos capturar todos los datos antes de evaluar la calidad y la integridad, por lo que no estamos revisándolos y descartando los duplicados.

Hemos decidido un sistema de códigos de barras para crear y utilizar en estos archivos PDF escaneados. Usando Reportlab , parece que puedo generar los códigos de barras en estos PDF de OCR.

Lo que necesito es una forma de manejar los duplicados. El código de barras (o clave principal) utilizado debe tener en cuenta el hecho de que dos archivos PDF están duplicados.

Por ejemplo, tal vez el conjunto de datos resultante se vea así:

+---------+---------+----------------+ | id | date | court | +---------+---------+----------------+ | 45234-A | 7/24/18 | district court | | 45234-B | 7/24/18 | district court | | 45235 | 7/24/18 | superior court | +---------+---------+----------------+ 

La “A” y la “B” me dicen que hay dos formularios que se comstackron el mismo día, en la misma audiencia.

¿Cómo diseñaría un sistema (pseudocódigo está bien) genera códigos de barras básicamente condicionalmente en función de si algo es un duplicado o no?


Solución que he considerado:

Tal vez, antes de escanear, ordene los documentos físicos secuencialmente. Puse duplicados uno tras otro en esta stack. Usando una rotuladora, coloco una “A”, una “B” en la parte superior derecha de los archivos que están duplicados, y dejo los que no están, en blanco. Luego escanea y codifica estos documentos. Luego, en Python, escribo un código para comprender de manera condicional si uno de estos documentos es un duplicado o no, escaneando la parte superior derecha de un PDF en busca de la letra “A”, “B”, etc. Si es así, genere un código de barras y agregue “A” a él y verifique el siguiente archivo. Agregue “B” al código de barras de “A” y agréguelo al segundo archivo. Continúe revisando el siguiente archivo hasta que no haya ninguna letra, luego pase al siguiente archivo no duplicado.

Si tuviera que comenzar con la solución anterior, no estoy seguro de cómo buscar una “A” o “B” en un PDF usando Python.


¡Gracias por leer! Cualquier ayuda es muy apreciada.

Edición ninja: se me olvidó mencionar. El propósito de usar este tipo de sistema es permitir que los voluntarios distribuidos y descentralizados tomen como 50 formularios, vayan a la página de Formularios de Google e ingresen. Crear un sistema de código de barras nos permite dar cuenta de los formularios y hacer un seguimiento de ellos.