Wie kann ich eine PDF-Datei mit OCR versehen und den Text in PDF speichern?

22

erstmal entschuldigung, wenn dies schon mal angefragt wurde - ich habe eine weile durch die vorhandenen posts gesucht, konnte aber keinen support finden.

Ich bin an einer Lösung für Fedora zur Texterkennung für ein mehrseitiges nicht durchsuchbares PDF interessiert und möchte dieses PDF in eine neue PDF-Datei umwandeln, die die Textebene über dem Bild enthält. Unter Mac OS X oder Windows könnten wir Adobe Acrobat verwenden, aber unter Linux, speziell unter Fedora?

https://snippets.webaware.com.au/howto/pdf-ocr-linux/ scheint eine Lösung zu beschreiben - aber leider bin ich schon beim Abrufen des genauen Bildes verloren.

ingli
quelle
Es gibt ein Problem mit dem netten pdfocr-Skript, das die Seite, auf die Sie verlinken, empfiehlt: Es basiert auf pdftk, das im Wesentlichen veraltet ist (aus zwei Gründen, seiner Abhängigkeit von libgcj und iText5 +). Also wird sowieso eine andere Lösung benötigt ...
Maxim

Antworten:

24

Der beste und einfachste Weg, es zu benutzen pypdfocr, ändert das PDF nicht. pypdfocr ist hier ein Link zum Python-Modul.

pypdfocr your_document.pdf

Am Ende haben Sie einen anderen, your_document_ocr.pdfwie Sie es mit durchsuchbarem Text wollen. Die App ändert die Bildqualität nicht. Erhöht die Größe der Datei ein wenig, indem der Overlay-Text hinzugefügt wird.

Ich denke, der Befehl ist ziemlich einfach, da er keine GUI benötigt. Vielleicht ist die Installation von pypdfocr etwas ausführlicher:

sudo dnf -y install tesseract 
pip install pypdfocr 

Update 3. November 2018:

pypdfocrwird seit 2016 nicht mehr unterstützt und ich habe einige Probleme festgestellt, weil ich nicht betreut wurde. ocrmypdf( Modul ) erledigt einen ähnlichen Job und kann wie folgt verwendet werden:

ocrmypdf in.pdf out.pdf

Installieren:

pip install ocrmypdf

oder

sudo apt install ocrmypdf  #ubuntu
sudo dnf -y install ocrmypdf #fedora
Eduard Florinescu
quelle
warum installierst du (mit apt) ocrmypdf in ubuntu, installierst aber tessaract in fedora? Ich denke , dass Sie einen Tippfehler gemacht
iuridiniz
@iuridiniz hat es behoben. Es war ein Fehler, der sich eingeschlichen hat
Eduard Florinescu
8

Nachdem ich erfahren hatte, dass tesseract jetzt auch durchsuchbare PDFs erstellen kann, fand ich das Skript-Sandwich: http://www.tobias-elze.de/pdfsandwich/

nach der Installation von Abhängigkeiten (dies ist möglicherweise nicht die vollständige Liste)

sudo dnf install svn ocaml unpaper tesseract

Ich folgte der Anleitung des Skripts zum Kompilieren aus dem Quellcode

Kompilieren Sie aus Quellen

pdfsandwich ist Open Source Software (Lizenz: GPL). Sie können die Quellen entweder als .tar.bz2-Paket aus dem Downloadbereich auf der Projektwebsite herunterladen oder per Subversion auschecken:

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

Wenn OCaml auf Ihrem System installiert ist, können Sie wie folgt kompilieren und installieren:

cd pdfsandwich
./configure
make
sudo make install

und das erlaubt mir jetzt zu rennen

sandwich multipaged-non-searchable.pdf

Daraus resultiert ein durchsuchbares PDF.

ingli
quelle
Eine verwandte, aber separate Frage, die auf dieser aufbaut
ingli
1
FWIW: pdfsandwich ist auch im Paket-Repository von Ubuntu verfügbar. Andere Distributionen könnten es auch haben.
Laurence Gonsalves
unix.stackexchange.com/questions/471985/… irgendwelche Vorschläge
Deepak Umredkar
Bin gerade auf fedoramagazine.org/4-cool-new-projects-try-copr-october-2018 gestoßen und habe ein COPR-Paket für fedora gezeigt, das pdfsandwich
ingli
3

Ein einfaches Tool, das in Ubuntu verfügbar ist, ist 'ocrfeeder'. Es ermöglicht die Erzeugung von PDFs mit OCR-Text, der über die Originaldokumente gelegt wird. Es nutzt Tesseract und andere OCR-Engines (nicht sicher, welche) und sorgt auch für Bildrotation / "Unpaper" usw.

jdpipe
quelle
0

Ich hatte das gleiche Problem und schrieb es über das Wochenende. Versuch es einmal; es funktioniert super! Es ist eine einfache Hülle tesseract. Es wird verwendet pdftoppm, um eine PDF-Datei in eine Reihe von TIFF-Dateien zu konvertieren. Anschließend wird tesseractOCR (Optical Character Recognition) für diese Dateien ausgeführt und eine durchsuchbare PDF-Datei als Ausgabe erstellt. Alle temporären Zwischendateien werden nach Abschluss des Skripts automatisch gelöscht.

Quellcode: https://github.com/ElectricRCAircraftGuy/PDF2SearchablePDF

Anweisungen zur Installation und Verwendung pdf2searchablepdf:

Getestet unter Ubuntu 18.04 am 11. November 2019.

Installieren:

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

sudo apt update
sudo apt install tesseract-ocr

Verwenden:

pdf2searchablepdf mypdf.pdf

Sie haben jetzt ein PDF mit dem Namen mypdf_searchable.pdf , das durchsuchbaren Text enthält!

Getan. Es gibt keine Python-Abhängigkeiten, da es derzeit vollständig in Bash geschrieben ist.

Referenzen oder verwandte Ressourcen:

  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 : Alternativer Software-Wrapper, den ich gerade entdeckt habe, das lohnt sich auch! http://www.tobias-elze.de/pdfsandwich/
Gabriel Staples
quelle