Prüfen Sie, ob die EPS / PDF-Datei Vektorgrafiken enthält

562
clarkk

Ich muss PDF-Dateien in EPS konvertieren. Dann muss ich alle Texte und Bilder entfernen. Bis jetzt funktioniert das

pdftocairo -f 1 -l 1 -eps test.pdf - | sed '/BT/,/ET/ d' | sed '/^8 dict dup begin$/,/^Q$/ c Q' > no_text_and_images.eps 

Aber wie kann man überprüfen, ob die EPS-Datei überhaupt Vektor enthält? Ich muss etwas OCR für die Ausgabe machen - aber nur, wenn ein Vektor in der Datei vorhanden ist. Wenn er nur Text und Bilder enthält, möchte ich keine Ressourcen verwenden, um ihn durch einen OCR-Prozess auszuführen

Beispieldatei: http://docdro.id/yJZTGBt

0
Ich habe eine Idee, aber ich müsste es testen. Haben Sie ein Beispiel eines Dokuments, das Seiten enthält, die die verschiedenen Permutationen von enthalten? hackerb9 vor 6 Jahren 0
Im Übrigen möchten Sie möglicherweise den Titel von EPS in PDF ändern, da Sie dies tatsächlich möchten. (Und die Lösung kann aus einem PDF-Dokument möglicherweise einfacher sein, da es mehr Tools gibt). hackerb9 vor 6 Jahren 0
@ hackerb9, Ihre Kommentare wurden leider nicht angezeigt. Sie haben einen Link zu einer PDF-Beispieldatei hinzugefügt. :) clarkk vor 6 Jahren 0

1 Antwort auf die Frage

0
hackerb9

Sie können ImageMagick verwenden. Die Option '-trim' beschneidet ein Bild so klein wie möglich und zeigt an, ob das Bild vollständig leer ist:

$ convert -trim no_text_images.eps foo.jpg convert-im6.q16: geometry does not contain image [...] 

Da der convertBefehl für diese Warnung keinen Fehlercode zurückgibt, muss Ihr Shellskript den stderr anzeigen.

if ! convert -trim no_text_images.eps foo.png 2>&1 | grep 'does not contain image'; then [ there's an image, so process it ] else [ there's no image ] fi 

Jetzt, wo ich sehe, woran Sie gerade arbeiten, habe ich vielleicht eine einfachere Lösung für Sie. Warum versuchen Sie es nicht ocrmypdf? Nur sudo apt install ocrmypdfum es auf Ihrer Debian-Box zu installieren.

Ich habe es in der PDF-Datei ausgeführt, die Sie mir gegeben haben, und obwohl ich tesseractEnglisch eingestellt habe, hat es eine vernünftige Darstellung des Vektors erhalten, den Sie oben im Formular haben:

$ ocrmypdf --force-ocr --oversample 150 084.pdf foo.pdf $ pdftotext foo.pdf - | less Sigurd Otto M¢nsteds  Va]  Muller Vinhandel  A/S  Aalbors SV- Tlf. 98 18 50 99- E-mail: vin@smv.dk- www. smv. dk 53 92 79 12- Nordjyske Bank 7450- 2038354  2- 9200  CVR  nr.  Import, salg as distribution if Vin cg spiritus Eneiurhandler i Danmark af  udsIgte vine fra hale verden.