it-swarm.com.de

Konvertieren Sie nicht durchsuchbare PDF-Dateien in durchsuchbare PDF-Dateien in Windows Python

Benötigen Sie eine Lösung, um eine PDF -Datei zu konvertieren, bei der jede Seite ein Bild ist und eine Seite entweder Text, Tabelle oder eine Kombination aus beiden in ein durchsuchbares PDF-Dokument enthalten kann.

Ich habe ABBY FineReader Online verwendet, was die Arbeit perfekt macht, aber ich suche nach einer Lösung, die über Windows Python erreicht werden kann.

Ich habe eine detaillierte Analyse durchgeführt und unten sind die Links, die nahe an das herankommen, was ich will, aber nicht genau:

Gescanntes Bild/PDF als durchsuchbares Bild/PDF

Es wird empfohlen, das Ghost-Skript zu verwenden, um es zuerst in ein Bild zu konvertieren, und dann direkt in Text zu konvertieren. Ich glaube nicht, dass Tesseract nicht durchsuchbare in durchsuchbare PDFs konvertiert. 

Konvertierbare durchsuchbare PDF in eine nicht durchsuchbare PDF

Die obige Lösung hilft umgekehrt, d. H. Das Durchsuchen von durchsuchbaren in nicht durchsuchbare. Ich denke auch, dass diese in Ubuntu/Linux/MacOS gültig sind.

Kann jemand bitte helfen zu sagen, was der Python-Code sein soll, um nicht durchsuchbar bis in Windows Python durchsuchbar zu sein? 


UPDATE 1

Ich habe mit Asprise Web Ocr das gewünschte Ergebnis erhalten. Unten ist der Link und der Code:

https://asprise.com/royalty-free-library/python-ocr-api-overview.html

Ich suche nach einer Lösung, die über Windows Python-Bibliotheken nur als ausgeführt werden kann.

  1. Muss zukünftig keine Abonnementkosten bezahlen 
  2. Ich muss täglich Tausende von Dokumenten konvertieren, und es wird umständlich, eines in API hochzuladen und dann herunterzuladen und so weiter.

UPDATE 2

Ich kenne die Lösung, nicht durchsuchbare PDFs direkt in Text umzuwandeln. Aber ich suche ihre Möglichkeit, nicht durchsuchbares in durchsuchbares PDF zu konvertieren. Ich habe den Code zum Konvertieren von PDF in Text mithilfe von PyPDF2.

14
Rahul Agarwal

Nun, Sie müssen nicht alles in der PDF-Datei in Text umwandeln. Text bleibt Text, Tabelle bleibt Tabelle, und wenn möglich, sollte das Bild Text werden .. Sie benötigen ein Skript, das das PDF tatsächlich liest und die Konvertierung in Blöcken beginnt. Das Skript schreibt Textblöcke, bis das Dokument vollständig gelesen wurde, und wandelt es in ein PDF-Dokument um. So etwas wie

if line_is_text():
    write_the_line_as_is()
Elif line_is_img():
    transform_img_in_text()# comments below code
...
..
.

Nun transform_img_in_text() Ich denke, es könnte mit vielen externen Bibliotheken gemacht werden, eine, die Sie verwenden können, könnte sein:

Tesseract OCR Python

Sie können diese Bibliothek über pip herunterladen. Anweisungen hierzu finden Sie oben im Link.

5

Wenn eine Online-Lösung für OCR für Sie akzeptabel ist, kann die kostenlose OCR-API von OCR.space auch durchsuchbare PDFs erstellen und funktioniert gut. 

In der kostenlosen Version enthält das erstellte PDF ein Wasserzeichen. Um das Wasserzeichen zu entfernen, müssen Sie ein Upgrade auf den kommerziellen PRO-Plan durchführen. Sie können die API mit dem Webformular auf der Startseite testen.

OCR.space ist auch als On-Premise-Option ohne Abonnement verfügbar, der Preis ist mir jedoch nicht sicher. Persönlich benutze ich die freie OCR-API mit gutem Erfolg.

4
Fabrice Zaks

Ich habe pypdfocr verwendet, um dies zu tun. Es wurde jedoch in letzter Zeit nicht aktualisiert.

Aus der README:

pypdfocr filename.pdf
--> filename_ocr.pdf will be generated

Lesen Sie sorgfältig die Installationsanweisungen für Windows.

Eine neuere Python-Bibliothek ist OCRmyPDF: https://github.com/jbarlow83/OCRmyPDF Es gibt ein Docker-Image für Windows

4
iacolippo

Ich habe kürzlich einen Blogbeitrag geschrieben, in dem ich dies mit folgendem erreicht habe:

  • OCRmyPDF - eine Python-Bibliothek, die Tesseract einwickelt
  • docker-Container in Azure ausgeführt

Möglicherweise müssen Sie die Dinge anpassen, um Ihre Anforderungen zu erfüllen, aber ich glaube, dass die Bausteine ​​in diesem Beitrag auf Ihre Bedürfnisse angewendet werden könnten:

http://martyice.github.io/docker-in-Azure/

1
Marty