Konvertieren Sie das Bild in .zip mit Python in PDF

Überblick

Code

Verschieben Sie zunächst das aktuelle Verzeichnis (CD) an den Speicherort der PY-Datei

zip2pdf.py


import os

os.chdir(os.path.dirname(os.path.abspath(__file__)))

Holen Sie sich alle Reißverschlüsse in CD Hier verwenden wir das Glob-Modul

zip2pdf.py


import glob

zips_ = glob.glob("./*.zip")

Rufen Sie den Dateinamen (ohne Erweiterung) für jede ZIP-Datei ab Erstellen Sie aus dem Dateinamen ein Dekomprimierungsverzeichnis unter cd

zip2pdf.py


for zip_path_ in zips_:
    filename_ = os.path.split(zip_path_)[1].split(".")[0]
    unzip_dir_ = os.path.join(".", filename_)

Nachdem Sie ein Dekomprimierungsverzeichnis haben, entpacken Sie die Zip-Datei Entpacken Sie die Zip-Datei mit dem Zipfile-Modul wie folgt

import zipfile
zip_ = zipfile.ZipFile(zip_path_)
zip_.extractall(unzip_dir_)
zip_.close()

Listen Sie nur die entpackten Zip-Dateien mit der Bilderweiterung (.png / .jpg / .jpeg) auf.

    image_list_ = []
    for item_ in os.listdir(unzip_dir_):
        image_path_ = os.path.join(unzip_dir_, item_)
        if os.path.isfile(image_path_):
            fileext = os.path.splitext(image_path_)[-1].lower()
            if fileext in [".jpg ", ".jpeg ", ".png "]:
                image_list_.append(image_path_)
            else:
                continue
        else:
            continue

Erstellen Sie ein PDF-Verzeichnis unter cd und konvertieren Sie es in pdf Der einfachste Weg, ein Verzeichnis zu erstellen, besteht darin, exist_ok = True mit der Option os.makedirs zu setzen.

import img2pdf
os.makedirs("./pdf", exist_ok=True)
pdf_path_ = os.path.join(".", "pdf", "{}.pdf".format(filename_))

layout = img2pdf.get_layout_fun(params_.pagesize_)
with open(pdf_path_, 'wb') as f:
    f.write(img2pdf.convert(image_list_, layout_fun=layout))

Löschen Sie das zur Dekomprimierung verwendete Verzeichnis Löschen Sie den Inhalt des Verzeichnisses mit rmtree des Shutil-Moduls

import shutil
shutil.rmtree(unzip_dir_)

Vollständiges System

zip2pdf.py


import os
import glob
import zipfile
import img2pdf
import shutil

#cd Wo sich diese Datei befindet
os.chdir(os.path.dirname(os.path.abspath(__file__)))

class params_:
    pagesize_ = (img2pdf.mm_to_pt(210), img2pdf.mm_to_pt(297))#A4size

def zip_to_pdf():
    #Holen Sie sich alle CD-Zip
    zips_ = glob.glob("./*.zip")

    for zip_path_ in zips_:
        print(os.path.split(zip_path_)[1])

        #Holen Sie sich nur den Namen der Postleitzahl
        filename_ = os.path.split(zip_path_)[1].split(".")[0]

        unzip_dir_ = os.path.join(".", filename_)

        #Erstellen Sie ein Verzeichnis mit demselben Namen wie zip in cd → dekomprimieren
        zip_ = zipfile.ZipFile(zip_path_)
        zip_.extractall(unzip_dir_)
        zip_.close()

        image_list_ = []
        #Listen Sie den Inhalt der entpackten Datei auf(Nur Bild)
        for item_ in os.listdir(unzip_dir_):
            image_path_ = os.path.join(unzip_dir_, item_)
            if os.path.isfile(image_path_):
                fileext = os.path.splitext(image_path_)[-1].lower()
                if fileext in [".jpg ", ".jpeg ", ".png "]:
                    image_list_.append(image_path_)
                else:
                    continue
            else:
                continue

        if len(image_list_) == 0:
            print("no image files")
            continue

        image_list_.sort()
        
        os.makedirs("./pdf", exist_ok=True)
        pdf_path_ = os.path.join(".", "pdf", "{}.pdf".format(filename_))

        layout = img2pdf.get_layout_fun(params_.pagesize_)
        with open(pdf_path_, 'wb') as f:
            f.write(img2pdf.convert(image_list_, layout_fun=layout))

        #Dekomprimierungszielverzeichnis gelöscht
        shutil.rmtree(unzip_dir_)

if __name__ == "__main__":
    zip_to_pdf()

Referenzlink

Für den PDF-Konvertierungsteil habe ich auf Sammeln von Bilddateien in PDF mit Python verwiesen.

Recommended Posts

Konvertieren Sie das Bild in .zip mit Python in PDF
Konvertieren Sie Markdown in Python in PDF
Konvertieren Sie PDF in Image mit ImageMagick
Beispiel für die Wavelet-Konvertierung von Bildern in Python
Konvertieren Sie in Python usw. geschriebene Dateien in PDF mit Syntax-Hervorhebung
[Automatisierung] Extrahieren Sie die Tabelle als PDF mit Python
Tweet mit Bild in Python
So konvertieren / wiederherstellen Sie einen String mit [] in Python
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
Python Open CV hat versucht, das Bild im Text anzuzeigen.
Workflow zum Konvertieren der Formel (Bild) in Python
Im Python-Befehl zeigt Python auf Python3.8
Konvertieren Sie die Liste mit Python in DataFrame
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Bestimmen Sie das Datums- und Uhrzeitformat mit Python und konvertieren Sie es in Unixtime
Versuchen Sie, sich mit Python bei qiita anzumelden
Konvertieren Sie Memos sofort mit Python 2to3
HTML-Mail mit Bild zum Senden mit Python
Konvertieren Sie mit pdfplumber von PDF in CSV
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Konvertieren Sie die psd-Datei in Python in png
Zeigen Sie Python 3 im Browser mit MAMP an
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
So arbeiten Sie mit BigQuery in Python
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Konvertieren Sie PDF-Dateien mit GIMP in PNG-Dateien
So passen Sie den Bildkontrast in Python an
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
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
Der Weg zum Kompilieren zu Python 3 mit Thrift
So schneiden Sie den unteren rechten Teil des Bildes mit Python OpenCV
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Versuchen Sie, die Höhendaten des National Land Research Institute mit Python abzubilden
Ich möchte eine in Python in PDF konvertierte Tabelle wieder in CSV konvertieren
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Abrufen und Konvertieren der aktuellen Zeit in der lokalen Systemzeitzone mit Python
Bewegen Sie die Schildkröte an die Stelle, an der Sie mit der Maus mit der Schildkröte in Python klicken
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Verwendung der C-Bibliothek in Python
Melden Sie sich mit SSH bei einem Remote-Server an
Zusammenfassung des Bibliotheksvergleichs zum Generieren von PDF mit Python
Konvertieren Sie die FBX-Datei in Python in ASCII <-> BINARY
Schneiden Sie das Bild mit Pythonista auf abgerundete Ecken
Verwendung der Python-Bildbibliothek in der Python3-Serie
Der einfachste Weg, um Stimme mit Python zu synthetisieren
Was ist im Docker Python-Image pfeifend?
Versuchen Sie, das Mensch-Maschine-Diagramm mit Python zu lösen
Geben Sie die ausführbare Python-Datei an, die mit virtualenv verwendet werden soll
Konvertieren Sie die SVG-Datei mit Python in png / ico
So beschneiden Sie ein Bild mit Python + OpenCV