Erstellen Sie kopier- und einfügbare PDFs aus Scans

Ich habe PDF-Dateien, die von einem Scanner erstellt werden. Die PDFs enthalten nur Bilder.

Bisher können Sie den Text nicht kopieren und einfügen, wenn Sie das PDF mit Acrobat oder einem anderen PDF-Viewer betrachten.

Benötigte Funktionen:

  • OCR: Text aus den Bildern lesen
  • Kommentieren Sie das PDF und erstellen Sie eine versteckte Überlagerung, um Text zu kopieren und einzufügen.
  • Die Verarbeitung einer Seite sollte nicht länger als 20 Sekunden dauern
  • Befehlszeile und/oder API, keine GUI erforderlich

Optional:

  • Wenn es eine API gibt, wären Python-Bindungen schön

Ich muss nur Linux unterstützen, kein anderes Betriebssystem. Open Source bevorzugt, aber kommerzielle Softwareempfehlungen sind auch gültige Antworten.

Antworten (4)

Die gewünschte Lösung finden Sie auf unserer Schwesterseite: Wie kann ich eine PDF-Datei mit OCR erkennen und den Text in einer PDF-Datei speichern? Zitat dieser Antwort :

Der beste und einfachste Ausweg ist, es zu verwenden pypdfocr, ohne das PDF zu ändern. pypdfocr ist hier ein Python-Modul-Link.

pypdfocr your_document.pdf

Am Ende haben Sie eine andere your_document_ocr.pdf, wie Sie es wollen, mit durchsuchbarem Text. Die App ändert die Qualität des Bildes nicht. Vergrößert die 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 

Über die Bearbeitungszeit kann ich nichts sagen, und sicherlich benötigen Sie ein separates Tool, um die Anmerkungen zu erstellen – aber alle Ihre anderen Anforderungen sollten perfekt erfüllt werden:

  • OCR: Ja.
  • Open Source: Ja.
  • Befehlszeile, keine GUI erforderlich: Ja.
  • Linux unterstützen: Ja.
  • Python-Bindungen: Nun, es ist einfaches Python (mit Ausnahme des Aufrufs von Tesseract).

Alternativ gibt es auf die gleiche Weise ein weiteres Python-Modul namens ocrmypdf . Auch hier wird Tesseract für den OCR-Prozess verwendet.

Ein dritter Kandidat wäre pdfsandwich – allerdings ohne die Python-Komponente.

Ich persönlich verwende Adobes Creative Cloud – Alle Apps
https://www.adobe.com/creativecloud/plans.html

  • Monatliches Abonnement - jederzeit kündbar.

  • OCR - Qualität hängt von den Punkten pro Zoll des Scans ab. Lesbarkeit und Qualität des gescannten Objekts.

  • Einfügbarer Text - ja.

  • Bearbeitbarer Originaltext - ja.

  • Notation - Ja

Folgendes kann ich leider nicht beantworten:

  • Befehlszeile und/oder API.

Nach meinen Recherchen wird Adobe unter Linux arbeiten.

Schauen Sie sich Tesseract an , eine Open-Source-OCR-Software.

Es wird mit einem Befehlszeilenprogramm geliefert und es gibt auch Python-Bindungen. Pakete, die in Ihrer Linux-Distribution verfügbar sind.

apt-get install tesseract-ocr
#convert pdf to scans.tiff
tesseract scans.tiff out pdf
  • ✓ OCR
  • ✓ durchsuchbare PDF-Ausgabe
  • ✓ Open-Source
  • ✓ schnell genug (v3 allerdings schneller als v4)
  • ✓ Befehlszeile und/oder API
  • ✓ funktioniert unter Linux
  • ✓ Python-Bindungen
Leider kann tesseract kein PDF nehmen (das beispielsweise 5 gescannte Seiten enthält) und ein PDF mit versteckten Textanmerkungen ausgeben. Zumindest konnte ich keine Möglichkeit finden, dies zu tun.
Ich denke, der fehlende Schritt ist, dass Sie zuerst die PDF-Datei in ein mehrseitiges TIFF-Bild konvertieren müssen, das Sie dann als Eingabe an Tesseract übergeben.

Dieses auf Python3 basierende Tool hat alle Funktionen: https://pypi.org/project/ocrmypdf/

  • OCR: ja
  • Kommentieren Sie das PDF und erstellen Sie ein verstecktes Overlay, um Text zu kopieren und einzufügen: ja
  • Die Verarbeitung einer Seite sollte nicht länger als 20 Sekunden dauern: ja
  • Befehlszeile und/oder API, keine GUI erforderlich: ja
  • Wenn es eine API gibt, wären Python-Bindungen schön: ja