Konvertieren Sie PDFs mit Python in Massenbilder

Was Sie in diesem Artikel tun möchten

Konvertiert eine PDF-Datei in ein Bild (PNG) mit einer Datei pro Seite. Überprüfung der Ausgabe von Geschäftsformularen Da eine Vorverarbeitung vorausgesetzt wird, können mehrere PDF-Dateien zusammen verarbeitet werden.

Dinge vorzubereiten

Poppler-Installation

Hauptfamilie (Quelle) https://poppler.freedesktop.org/

Binärdateien für Windows finden Sie hier. http://blog.alivate.com.au/poppler-windows/

Der Installationsvorgang ist auf dieser Site zusammengefasst. http://pdf-file.nnn2.com/?p=863 Wenn Sie die Sprachdatei nicht in die zweite Hälfte der Erklärung aufnehmen, wird der japanische Dateiname verstümmelt. Fügen Sie ihn daher unbedingt ein.

Hinzugefügt am 6. Januar 2020

Da imread () und imwrite () keine anderen Dateinamen als ASCII verarbeiten können, muss der Dateiname bei der Nachbearbeitung mit openCV-Python in ASCII-Zeichen geändert werden. Es ist in Ordnung, es wie "base = urllib.parse.quote (pdf_file.stem)" per URL zu codieren, aber es ist für andere nicht lesbar.

Wenn es schwierig ist, die Originaldaten umzubenennen, gibt es auch eine solche Gegenmaßnahme. Informationen zum Umgang mit Problemen beim Umgang mit Dateipfaden einschließlich Japanisch in Python OpenCV cv2.imread und cv2.imwrite https://qiita.com/SKYS/items/cbde3775e2143cad745

Pdf2image installieren

pip install pdf2image

Klicken Sie hier für Github https://github.com/Belval/pdf2image

Python-Code

pdf2img.py


import pathlib
import pdf2image

pdf_files = pathlib.Path('in_pdf').glob('*.pdf')
img_dir = pathlib.Path('out_img')

for pdf_file in pdf_files:
    base = pdf_file.stem
    images = pdf2image.convert_from_path(pdf_file, grayscale=True, size=640)
    for index, image in enumerate(images):
        image.save(img_dir/pathlib.Path(base + '-{}.png'.format(index + 1)),
                   'png')

Was ich mache, ist einfach: Ich lese eine PDF-Datei im Ordner in_pdf des aktuellen Verzeichnisses und gebe {PDF-Dateiname} - {page} .png in den Ordner out_img aus.

Beispiel) Einige form.pdf → Einige form-1.png Einige form-2.png

Bildkonvertierungsparameter images = pdf2image.convert_from_path(pdf_file, grayscale=True, size=640) Sie können es einstellen auf.

Es gibt viele andere Einstellungen, die Sie vornehmen können, aber vorerst ist dies ausreichend.

Das Bildformat ist image.save(img_dir/pathlib.Path(base + '-{}.png'.format(index + 1)), 'png') Wo image.save(img_dir/pathlib.Path(base + '-{}.jpg'.format(index + 1)), 'jpeg') Dann wird es im JPEG-Format ausgegeben.

Recommended Posts

Konvertieren Sie PDFs mit Python in Massenbilder
So konvertieren / wiederherstellen Sie einen String mit [] in Python
So führen Sie Tests zusammen mit Python unittest aus
Konvertieren Sie das Bild in .zip mit Python in PDF
Zahlenerkennung in Bildern mit Python
Konvertieren Sie Markdown in Python in PDF
So sammeln Sie Bilder in Python
Konvertieren Sie die Liste mit Python in DataFrame
Arbeiten mit DICOM-Bildern in Python
[Road to Intermediate Python] Installieren Sie Pakete in großen Mengen mit pip
Konvertieren Sie Bilder mit PIL (Python Imaging Library) in Sepia.
Konvertieren Sie das an Jason Stay Samlike in Python übergebene Bild in ASCII Art
Versuchen Sie, sich mit Python bei qiita anzumelden
Konvertieren Sie Memos sofort mit Python 2to3
Konvertieren Sie die psd-Datei in Python in png
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
So arbeiten Sie mit BigQuery in Python
Fügen Sie Bildern mit Python2.7 Gaußsches Rauschen hinzu
Konvertieren Sie chinesische Zahlen mit Python in arabische Zahlen
So betreiben Sie die Zeitstempelstation in Python
In Python von Markdown in HTML konvertieren
Konvertieren Sie die absolute URL in eine relative URL in Python
Lesen von Zeichen in Bildern mit Python OCR
Laden Sie Bilder mit Python auf Google Drive hoch
Beispiel für die Wavelet-Konvertierung von Bildern in Python
Konvertieren Sie in Python usw. geschriebene Dateien in PDF mit Syntax-Hervorhebung
Konvertieren Sie die FBX-Datei in Python in ASCII <-> BINARY
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Konvertieren Sie die SVG-Datei mit Python in png / ico
Konvertieren Sie Windows-Epochenwerte mit Python in das Datum
Melden Sie sich mit Selenium Python bei Yahoo Business an
Wie man tkinter mit Python in Pyenv benutzt
Massen-Download-Bilder von einer bestimmten URL mit Python
Konvertieren Sie den exponentiellen Float in Python in str
Konvertieren Sie kubischen Netzcode in Python in WKT
Konvertieren Sie die Zeichenfolge mit Python in ein zeichenweises Listenformat
Massen-Download-Bilder von einer bestimmten Site-URL mit Python
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Konvertieren Sie das NumPy-Array "ndarray" in Python [tolist ()]
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
Konvertieren Sie die Netzmaske der CIDR-Notation in Python in eine gepunktete Dezimalschreibweise
So konvertieren Sie Gleitkommazahlen in Python in Binärzahlen
Super Primer für Python-Erste Schritte mit Python3.5 in 3 Minuten
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Ich möchte mit einem Roboter in Python arbeiten.
Konvertieren Sie die asynchrone API im Callback-Stil in async / await in Python
PyInstaller-Memorandum Konvertieren Sie Python [.py] in [.exe] mit 2 Zeilen
Konvertieren / Zurückgeben von Klassenobjekten in das JSON-Format in Python
[Python] Erstellt eine Methode zum Konvertieren von Radix in 1 Sekunde
Konvertieren Sie den Webpay-Entitätstyp in den Dict-Typ (rekursiv in Python).
Konvertieren Sie numerische Variablen mit Pandas in kategoriale Variablen, indem Sie einen Schwellenwert festlegen
Stellen Sie mit Python eine Verbindung zu BigQuery her
Angrenzende Bilder mit Python Teil 1
[Python] Datum in Zeichenfolge konvertieren
Base64-Codierung von Bildern in Python 3
Schaben mit Selen in Python