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.
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.
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
pip install pdf2image
Klicken Sie hier für Github https://github.com/Belval/pdf2image
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.
size = n
passt. Größe berechnet durch DPI-Wert, falls nicht angegebenEs 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