[PYTHON] Konvertieren Sie mehrere JPG-Dateien in eine PDF-Datei

Was du machen willst

Ich möchte eine PDF-Datei mit detaillierten Bilddateien (JPG oder JPEG oder JPG) zusammenstellen, die vom Scanner usw. importiert wurden. Details werden nach Verzeichnissen unterteilt und jede Unterteilung wird in einer PDF-Datei zusammengefasst. Im Verzeichnis sind sie nach Datum sortiert

ls ~/scan/meisai/
Autoversicherungsauszug
Autoversicherungsauszug/2017/
Autoversicherungsauszug/2018/
Autoversicherungsauszug/2019/
Autoversicherungsauszug/2020/
Kreditkarte A./2017/
Kreditkarte A./2018/
Kreditkarte A./2019/
Kreditkarte A./2020/
Medizinisches Statement 2020_01_20.jpg
  .DS_store

In einer solchen Verzeichnisstruktur befinden sich mehrere Bilddateien. Fassen Sie es wie folgt zusammen

ls ~/scan/meisai_pdf/
Autoversicherungsauszug.pdf
Kreditkarte A..pdf
  .DS_store

Löschen Sie die verwendete Bilddatei manuell.

Was wurde verwendet

python3 import os import img2pdf

Code

import os
import img2pdf

EXP_DIR = "/Users/myname/scan/meisai"
OUT_DIR = "/Users/myname/scan/meisai_pdf"


def extract_image_file_list(folder_path):
    ret = []
    if os.path.isdir(folder_path) == False:
        return ret 
    for t in sorted(os.listdir(path=folder_path)):
        if os.path.isdir(folder_path + "/" + t):
            #Folgen Sie dem Verzeichnis rekursiv
            ret += extract_image_file_list(folder_path + "/" + t)
        else:
            ret.append(folder_path + "/" + t)
    return ret

def image_to_pdf(pdf_name,image_list):
    convert_target = []
    for i in image_list:
        if i.endswith(".jpg ") or i.endswith(".JPG") or i.endswith(".jpeg "):  
            convert_target.append(i)
    if len(convert_target) == 0:
        return
    with open(pdf_name + ".pdf", "wb") as f:
        f.write(img2pdf.convert(convert_target))

#os.chdir(EXP_DIR)  #Wenn Sie in ein Verzeichnis wechseln und mit einem relativen Pfad verarbeiten möchten.
for path in os.listdir(path=EXP_DIR):
    print(path)
    files = extract_image_file_list(EXP_DIR + "/" + path)
    image_to_pdf(OUT_DIR + "/" + path,files)

Recommended Posts

Konvertieren Sie mehrere JPG-Dateien in eine PDF-Datei
Konvertieren Sie PDF-Dateien mit GIMP in PNG-Dateien
Kombinieren Sie mehrere Python-Dateien zu einer Python-Datei
[Python & Unix] Kombinieren Sie mehrere PDF-Dateien zu einer.
Stapelkonvertierung von PSD-Dateien im Verzeichnis in PDF
Anfänger versuchen, Word-Dateien sofort in PDF zu konvertieren
Konvertieren Sie HTML in eine Textdatei
Konvertieren Sie die Genbank-Datei in die GFF-Datei
Stapelkonvertierung von in MS Forms / Google Forms hochgeladenen Bilddateien in PDF
Konvertieren Sie A4 PDF alle 2 Seiten in A3
So konvertieren Sie 0,5 in 1056964608 auf einmal
Konvertierung von pdf nach txt 2 [pyocr]
Konvertieren Sie PDF in Image mit ImageMagick
Konvertieren Sie in Python usw. geschriebene Dateien in PDF mit Syntax-Hervorhebung
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
[Python] So konvertieren Sie eine Datenbankdatei in CSV
So konvertieren Sie Python in eine exe-Datei
Konvertieren Sie das Matplotlib-Diagramm in das EMF-Dateiformat
Konvertieren Sie mit pdfplumber von PDF in CSV
Konvertieren Sie die psd-Datei in Python in png
Konvertieren Sie an E-Mails angehängte PDF-Dateien in das Textformat
Konvertieren Sie mehrere CSVs in jede Excel-Tabelle
[Bash] Umleiten mehrerer Zeilen in mehrere Dateien
Erstellen Sie eine API zum Konvertieren von PDF-Dateien in TIF-Bilder mit FastAPI und Docker
So konvertieren Sie Webseiten mit VBA (Excel) (Selenium Basic) in PDF, PNG, JPG
Konvertieren Sie die FBX-Datei in Python in ASCII <-> BINARY
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
Konvertieren Sie die SVG-Datei mit Python in png / ico
Konvertieren Sie UTF-8-CSV-Dateien in Excel
Konvertieren Sie eine mehrdimensionale Liste (Array) in eine Dimension
[Kleine Geschichte] Einfache Möglichkeit, Jupyter in PDF zu konvertieren
Konvertieren Sie mehrere Protodateien gleichzeitig mit Python
Beispiel, um Python Kivy in eine Datei zu packen
Zum HSV konvertieren
Ein Skript, das mehrere Seiten einer PDF-Datei zu einer Seite ohne Ränder kombiniert
Kombinieren Sie mehrere CSV-Dateien mit Python zu einer CSV-Datei (vorausgesetzt, nur eine Kopfzeile)
Konvertieren Sie die JPYTER-Notebook-IPynb-Datei in die ausführbare Python-Py-Datei
Konvertieren Sie eine Textdatei mit hexadezimalen Werten in eine Binärdatei
[Python] Konvertiert PDF-Text für jede Seite in CSV (2/24 Postscript)
Konvertieren Sie das Bild in .zip mit Python in PDF
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Konvertieren Sie einen ganzzahligen Wertvektor in eine heiße Darstellung
So konvertieren Sie ein Mel-Spektrogramm zurück in eine WAV-Datei
So fügen Sie einer PDF-Datei Seitenzahlen hinzu (in Python)
Konvertieren Sie mehrere Jupyter-Notizbücher zusammen in eine HTML-Datei
So konvertieren Sie Json-Dateien in das CSV- oder EXCEL-Format
Konvertieren Sie die Übersetzungsressourcendatei (.po) in das XLIFF-Format (.xlf).
Konvertieren Sie MOL-Dateien über Standard-E / A in SMILES
Kombinieren Sie mehrere mit Pandas geladene Excel-Dateien zu einer
Konvertieren Sie die XML-Datei im Pascal-VOC-Format in die JSON-Datei im COCO-Format