Hola,
No soy un gran programador de Python, por lo que solicito el apoyo y la orientación de personas con más experiencia. El resultado podría ser una excelente herramienta para el mercado, que atiende a muchos clientes del sector farmacéutico y, potencialmente, de otras industrias.
Fondo:
Muchas empresas implementan procedimientos en los que los operadores añaden números y comentarios escritos a mano en una hoja de papel predefinida y estructurada, que luego se escanea a PDF. Se adjunta un ejemplo. Estos datos deben extraerse y analizarse.
El problema radica en que el documento escaneado es una imagen en PDF y no se puede importar mediante el asistente de importación de PDF. Además, el código manuscrito probablemente sea difícil de identificar correctamente. La solución actual para muchas compañías farmacéuticas es que los usuarios tengan que introducir esos datos manualmente, a veces durante dos horas, y de 2 a 5 veces por semana. Contar con una opción para extraer al menos parte de la información de forma más automática sería de gran utilidad para ellas.
Investigué un poco y se podría usar Python para extraer las imágenes del PDF y luego el texto de las imágenes usando algunos paquetes. Aquí les dejo un proceso que encontré para hacerlo.
- Instale pytesseract (motor OCR) y pdf2image (para convertir páginas PDF en imágenes).
- Flujo de trabajo:
- Convertir páginas PDF en imágenes.
- Ejecute OCR en cada imagen usando pytesseract.
- Guarde el texto extraído en un archivo o procese más.
Aquí es donde necesito ayuda o soporte. El objetivo sería usar el documento adjunto como prueba de concepto. Si funciona, podríamos crear un complemento y publicarlo en la tienda.
Apuesto a que esto sería un gran alivio para muchas empresas y las haría aún más apegadas a JMP.
¿Algún voluntario?
@Paul_Nelson
PD: (de Copilot)
A continuación se muestra un script de Python completo que convierte un PDF escaneado en texto usando pdf2image y pytesseract :
Pitón
desde pdf2image importar convertir_desde_ruta
importar pytesseract
# Ruta a su archivo PDF escaneado
pdf_path = 'documento_escaneado.pdf'
# Convertir páginas PDF a imágenes
páginas = convertir_desde_ruta(ruta_pdf)
# Inicializar una variable para almacenar el texto extraído
texto extraído = ""
# Recorra cada página y aplique OCR
para page_number, página en enumerate(pages, start=1):
texto = pytesseract.image_to_string(página)
texto_extraído += f"\n--- Página {número_de_página} ---\n{texto}\n"
# Guardar el texto extraído en un archivo
con open('extracted_text.txt', 'w', encoding='utf-8') como f:
f.write(texto_extraído)
print("Extracción OCR completada. Texto guardado en removed_text.txt")
Creo que Pytesseract solo funcionaría con las partes mecanografiadas del PDF. Necesitarías algo más para el reconocimiento de escritura a mano. ¿Quizás este enlace podría ser un punto de partida?