Ottieni la posizione di testo con Tesseract 2.04 e Java
Domanda
Sto eseguendo OCR usando Tesseract 2.04 in alcune immagini e ora ho per ottenere la posizione precisa del testo ocearizzato. Ma questa versione non restituisce queste informazioni.
Ho bisogno di questo per generare un file PDF ricercabile. Ho già imparato a stampare un testo in un livello sotto il PDF, ma ho bisogno della posizione per timbrare questo testo. La mia prima idea è eseguire OCR nel PDF, ottenere il testo e la posizione del testo, per timbrare il PDF con API ITEXT.
Soluzione
Internamente a Itext abbiamo anche esaminato l'OCR. Ed è possibile (usando tesseract).
flusso di lavoro:
- Estrai tutte le immagini dal PDF usando iText
- Estrai il testo (e le coordinate, il carattere, ecc.) Usando Tesseract
- Applicare le trasformazioni di coordinate (poiché il sistema di coordinate di tesseract e il sistema di coordinate ITEXT non sono gli stessi)
- Aggiungi un livello al PDF (Canvas.beginLayer)
- Disegna tutto il testo in questo livello nella posizione corretta
Ci sono molte altre ottimizzazioni che potresti fare. Un breve elenco di suggerimenti:
- basale corretta
- Carattere corretto
- Corretti errori di ortografia
- stimare il colore
- stimare il colore di sfondo
Questo non è un compito facile. Ma certamente possibile.