2017-11-06 19 views
0

Ich benutze Tesseract, um Text aus gescannten PDF zu extrahieren. Einige dieser Dateien enthalten auch Bilder. Gibt es eine Möglichkeit, diese Bilder zu bekommen?So extrahieren Sie Bilder aus einer gescannten PDF-Datei

Ich bereite meine gescannten pdf für Tesseract vor, indem Sie sie in TIFF-Dateien konvertieren. Aber ich kann kein Befehlszeilenprogramm finden, um Bilder von ihnen zu extrahieren, wie PDF-Bilder für "Text" pdf tun würden.

Irgendeine Idee von einem Werkzeug (oder einer Kombination von Werkzeugen), die mir helfen würde, die Arbeit zu erledigen?

+0

Suchen Sie nach 'pdfimages' im ** Poppler ** Paket. –

+0

@MarkSetchell Wenn ich PDF-Bilder mit gescannten PDF-Dateien verwende, extrahiert es komplette Seiten, nicht nur die Bilder. Ich denke, es ist ein Werkzeug nur für "Text" -PDFs, nicht gescannt. – Plouf

+0

Ein gescanntes PDF enthält normalerweise ein Bitmap-Bild pro Seite, und auf diesem Bitmap-Bild befindet sich der gesamte gescannte Inhalt dieser Seite. Eine Trennung von textähnlichen von den übrigen geschieht normalerweise nicht.Wenn Sie also die Bildressourcen aus der PDF extrahieren, erhalten Sie Bitmaps des gesamten Seiteninhalts. – mkl

Antwort

0

Sie können Tesseract OCR nicht für Bilder verwenden, da dies nicht dem Zweck entspricht. Am besten verwenden Sie ein Werkzeug, um die Bilder vorher zu extrahieren und dann den Text später mit Tesseract zu erhalten.

Sie können PDF-Bilder mit xPDF verwenden.

http://www.xpdfreader.com/pdfimages-man.html

Sie herunterladen müssen R, Rstudio, xPDFreader und PDFtools dies zu erreichen. Stellen Sie sicher, dass Ihre Programmdateien unter "Umgebungsvariablen" gefunden werden können (wenn Sie Windows verwenden), damit R die Programme finden kann.

Dann etwas tun, um es zu konvertieren. Weitere Informationen zu PDF-Bildern finden Sie in den Optionen in der Dokumentation. So wird die Syntax sein (speziell nach paste0). Beachten Sie die Platzierung der Optionen. Sie haben vor dem Dateieingangs Name sein:

#("PDF to PPM")  
     files <- tools::file_path_sans_ext(list.files(path = dest, pattern = 
"pdf", full.names = TRUE)) 
    lapply(files, function(i){ 
     shell(shQuote(paste0("pdftoppm -f 1 -l 10 -r 300 ", i,".pdf", " ",i))) 
     }) 

Sie könnten auch nur die Aufforderung CMD verwenden und

pdftoppm -f 1 -l 10 -r 300 stuff.pdf stuff.ppm 
+0

Danke @Mitchell, aber ich vermute, dass meine Frage nicht klar genug war :) Lassen Sie mich versuchen zu klären: Natürlich weiß ich, dass Sie es nicht mit Tesseract tun können, deshalb habe ich nach einem möglichen Befehlszeilenwerkzeug gefragt, das es vielleicht nicht tut existieren. Ich habe Ihre Lösung versucht, aber wie bereits erwähnt, erkennt es keine Bilder in PDF (oder in tiff), sondern extrahieren Sie die ganze Seite als ein Bild, das ist nicht das, wonach ich suche. – Plouf

+0

Ach, tut mir leid, ich könnte nicht mehr helfen. –

0

In vielen Fällen geben, wenn jemand eine PDF hat, und sie wollen ‚get‘ die Bilder aus, ein Rendering der Seite selbst zu einem Bild ist oft zufriedenstellend. Wenn Sie jedoch wirklich die Bilder extrahieren möchten, müssen Sie vorsichtig sein, welches Werkzeug Sie verwenden, und dessen Reputation und Qualität der Ausgabe untersuchen.

Die erste wichtige Sache zu realisieren ist, wenn ein Werkzeug behauptet, "extrahieren die TIFF aus der PDF" oder "extrahieren Sie die JPG aus der PDF" dann sie irreführen Sie als PDF keine JPEG oder TIFF-Bilder enthält per sagen. Die Verwirrung entsteht, weil die Komprimierungstechnologie, die von diesen beiden Rasterbildformaten verwendet werden kann, in PDF zum Komprimieren von Bilddaten verwendet wird, aber es ist nicht dasselbe wie eine JPG-Datei, die einfach mit einer PDF "lebt".

Es gibt viele Tools da draußen, aber Sie werden feststellen, dass die Qualität sehr unterschiedlich sein wird. Einige können einfache PDFs gut verarbeiten, haben aber aufgrund ihrer Größenbeschränkungen oder komplexer PDFs einfach einen Absturz oder hängen. Einige können RGB-Daten gut verarbeiten, aber andere Farbräume werden einfach übersprungen oder falsch gehandhabt. Einige lassen Sie keine genaue Kontrolle über die Daten und werden einfach alles extrahieren und es als JPEG komprimieren. Um das Ganze zu übertreffen, können die Bilddaten oft in irgendeiner Weise beschädigt sein, und die von Ihnen verwendete Technologie muss in der Lage sein, diese Szenarios elegant zu handhaben.

Wenn Sie dies als Teil einer Unternehmenslösung implementieren möchten, benötigen Sie ein Tool, das die meisten PDF-Dateien verarbeiten kann, die Sie in freier Wildbahn finden können.

Verwandte Themen