come OCR un file pdf e ottenere il testo memorizzato in pdf?


23

in primo luogo, mi scuso se questo è stato chiesto in precedenza: ho cercato per un po 'tra i post esistenti, ma non sono riuscito a trovare supporto.

Sono interessato a una soluzione per Fedora per OCR un pdf non ricercabile multipagina e per trasformare questo pdf in un nuovo file pdf che contiene il livello di testo sopra l'immagine. Su Mac OSX o Windows potremmo usare Adobe Acrobat, ma su Linux, in particolare su Fedora?

https://snippets.webaware.com.au/howto/pdf-ocr-linux/ sembra descrivere una soluzione - ma sfortunatamente mi sono già perso durante il recupero dell'immagine esatta.


C'è un problema con il bel script pdfocr che la pagina che stai collegando raccomanda: si basa su pdftk che è essenzialmente deprecato (per due motivi, la sua dipendenza da libgcj e da iText5 +). Quindi è necessaria una soluzione diversa ...
Maxim

Risposte:


24

Il modo migliore e più semplice per usarlo pypdfocrnon cambia il pdf. pypdfocr è un collegamento al modulo Python qui.

pypdfocr your_document.pdf

Alla fine ne avrai un altro your_document_ocr.pdfnel modo desiderato con testo ricercabile. L'app non modifica la qualità dell'immagine. Aumenta un po 'la dimensione del file aggiungendo il testo di sovrapposizione.

Penso che il comando sia abbastanza semplice che non abbia bisogno di alcuna interfaccia grafica. Forse installare pypdfocr è un po 'più dettagliato:

sudo dnf -y install tesseract 
pip install pypdfocr 

Aggiornamento 3 novembre 2018:

pypdfocrnon è più supportato dal 2016 e ho notato alcuni problemi dovuti al mancato mantenimento. ocrmypdf( modulo ) svolge un lavoro simile e può essere utilizzato in questo modo:

ocrmypdf in.pdf out.pdf

Installare:

pip install ocrmypdf

o

sudo apt install ocrmypdf  #ubuntu
sudo dnf -y install ocrmypdf #fedora

perché installi (usando apt) ocrmypdf in ubuntu, ma installa tessaract in fedora? Penso che tu abbia fatto un refuso
iuridiniz il

@iuridiniz ha risolto il problema. E 'stato un errore che avanza
Eduard Florinescu

8

Dopo aver appreso che tesseract ora può produrre anche PDF ricercabili, ho trovato il sandwich di script: http://www.tobias-elze.de/pdfsandwich/

dopo aver installato le dipendenze (questo potrebbe non essere l'elenco completo)

sudo dnf install svn ocaml unpaper tesseract

Ho seguito la guida dello script per la compilazione dalla fonte

Compila da fonti

pdfsandwich è un software open source (licenza: GPL). È possibile scaricare i sorgenti come pacchetto .tar.bz2 dall'area download sul sito Web del progetto o verificarli mediante sovversione:

svn checkout svn://svn.code.sf.net/p/pdfsandwich/code/trunk/src pdfsandwich

Se OCaml è installato sul tuo sistema, puoi compilare e installare come segue:

cd pdfsandwich
./configure
make
sudo make install

e questo ora mi permette di correre

sandwich multipaged-non-searchable.pdf

risultante in un pdf ricercabile.


per una domanda correlata, ma separata, basandosi su questo, vedere unix.stackexchange.com/questions/306051/…
ingli

1
FWIW: pdfsandwich è disponibile anche nel repository di pacchetti apt di Ubuntu. Anche altre distribuzioni potrebbero averlo.
Laurence Gonsalves il


Ho appena incontrato fedoramagazine.org/4-cool-new-projects-try-copr-october-2018 che mostra un pacchetto COPR per fedora che confeziona pdfsandwich
ingli il


1

Ho avuto lo stesso problema, quindi l'ho scritto durante il fine settimana. Dagli Un colpo; funziona benissimo! È un semplice wrapper in giro tesseract. Usa pdftoppmper convertire un PDF in un mucchio di file TIFF, quindi usa tesseractper eseguire OCR (riconoscimento ottico dei caratteri) su di essi e produce un PDF ricercabile come output. Tutti i file temporanei intermedi vengono automaticamente eliminati al termine dello script.

Codice sorgente: https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF

Istruzioni per l'installazione e l'uso pdf2searchablepdf:

Testato su Ubuntu 18.04 l'11 novembre 2019.

Installare:

git clone https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF.git
./PDF2SearchablePDF/install.sh

sudo apt update
sudo apt install tesseract-ocr

Uso:

pdf2searchablepdf mypdf.pdf

Ora avrai un pdf chiamato mypdf_searchable.pdf , che contiene testo ricercabile!

Fatto. Non ha dipendenze da Python, poiché è attualmente scritto interamente in bash.

Riferimenti o risorse correlate:

  1. PDF2SearchablePDF : https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF
  2. /ubuntu/473843/how-to-turn-a-pdf-into-a-text-searchable-pdf/1187881#1187881
  3. /ubuntu/16268/whats-the-best-simplest-ocr-solution
  4. /ubuntu/150100/extracting-embedded-images-from-a-pdf/1187844#1187844
  5. pdfsandwich : software wrapper alternativo che ho appena scoperto, vale la pena dare un'occhiata anche a! http://www.tobias-elze.de/pdfsandwich/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.