CIAO,
Non sono un grande programmatore Python, quindi chiedo supporto/guida a chi ha più esperienza. Il risultato potrebbe essere un ottimo componente aggiuntivo per il marketplace, al servizio di molti clienti nel settore farmaceutico e potenzialmente in altri settori.
Sfondo:
Molte aziende hanno procedure in cui gli operatori inseriscono numeri e commenti scritti a mano in un foglio di carta predefinito e strutturato, che verrà poi scansionato in un PDF. In allegato un esempio. Questi input devono essere estratti e analizzati.
Il problema è che il documento scansionato è un'immagine in formato PDF e non può essere importato tramite la procedura guidata di importazione PDF. Inoltre, il codice scritto a mano è probabilmente difficile da identificare correttamente. La soluzione attuale per molte aziende farmaceutiche è che gli operatori debbano inserire manualmente i dati, a volte per 2 ore e 2-5 volte a settimana. Avere la possibilità di estrarre almeno alcune delle informazioni in modo più automatico sarebbe un grande valore per loro.
Ho fatto qualche ricerca: si potrebbe usare Python per estrarre le immagini dal PDF e poi estrarre il testo dalle immagini utilizzando alcuni pacchetti. Ecco un metodo che ho trovato per farlo.
- Installa pytesseract (motore OCR) e pdf2image (per convertire le pagine PDF in immagini).
- Flusso di lavoro:
- Converti le pagine PDF in immagini.
- Esegui l'OCR su ogni immagine utilizzando pytesseract.
- Salva il testo estratto in un file o elaboralo ulteriormente.
Ecco dove ho bisogno di aiuto/supporto. L'obiettivo sarebbe utilizzare il documento allegato come proof of concept. Se funzionasse, potremmo creare un componente aggiuntivo e metterlo sul mercato.
Scommetto che questo rappresenterebbe un grande sollievo per molte aziende e le renderebbe ancora più fedeli a JMP.
Ci sono volontari?
@Paul_Nelson
PS: (dal copilota)
Di seguito è riportato uno script Python completo che converte un PDF scansionato in testo utilizzando pdf2immagine e pytesseract :
Pitone
da pdf2image importa convert_from_path
importa pytesseract
# Percorso al file PDF scansionato
pdf_path = 'documento_scansionato.pdf'
# Convertire le pagine PDF in immagini
pagine = convert_from_path(pdf_path)
# Inizializza una variabile per memorizzare il testo estratto
testo_estratto = ""
# Esegui un ciclo su ogni pagina e applica l'OCR
per page_number, pagina in enumerate(pages, start=1):
testo = pytesseract.image_to_string(pagina)
testo_estratto += f"\n--- Pagina {numero_pagina} ---\n{testo}\n"
# Salva il testo estratto in un file
con open('extracted_text.txt', 'w', encoding='utf-8') come f:
f.write(testo_estratto)
print("Estrazione OCR completata. Testo salvato in extracted_text.txt")
Penso che Pytesseract funzioni solo con le parti dattiloscritte del PDF. Per il riconoscimento della scrittura a mano servirebbe qualcosa di più. Forse questo link potrebbe essere un punto di partenza?