Integrieren Sie PDF-Dateien in Python

Einführung

Um die grundlegende Grammatik von Python zu studieren, habe ich ein Programm geschrieben, das mehrere PDF-Dateien in eine PDF-Datei integriert. PyPDF2 wird zum Kombinieren und Schreiben von PDF-Dateien verwendet.

Installieren Sie PyPDF2

Installieren Sie PyPDF2 mit pip.

> pip install PyPDF2

importieren

Importieren Sie "PdfFileMerger", um PDF-Dateien zu integrieren, und "os", "glob", um PDF-Dateien automatisch zu finden, wenn Sie einen Ordner angeben.

merge.py(1)


from PyPDF2 import PdfFileMerger
import os
import glob

Initialisieren

Für die Integration initialisieren.

merge.py(2)


def main():
    merger = PdfFileMerger()

    merge_files = []

Angeben der zu integrierenden Dateien

Spezifizierte Endverarbeitung

Geben Sie zunächst weiter an, bis "m" eingegeben wird. Wenn "m" eingegeben wird, beenden Sie die Angabe der Datei und fahren Sie mit dem nächsten Vorgang fort. Die Variable i dient zum Zählen der Anzahl der Dateien.

merge.py(3)


    i = 1
    while True:
        print("Merge file or Folder ", i, " (Type 'm' to merge.) -> ", sep='', end='')
        in_file = input()

        if in_file == 'm':
            break

Datei angeben

Wenn der eingegebene Pfad der Dateiname und eine PDF-Datei ist, wird er der Liste der zusammenzuführenden Dateien hinzugefügt. Wenn die Erweiterung nicht PDF ist, wird eine Nachricht ausgegeben, um sie zu übermitteln.

merge.py(4)


        elif os.path.isfile(in_file):
            ext = os.path.splitext(in_file)
            if ext == '.pdf':
                merge_files.append(in_file)
                i += 1
            else:
                print("Die angegebene Datei ist keine PDF-Datei.")

Hier wird zuerst "os.path.isfile ()" verwendet, um zu identifizieren, ob das Argument eine Datei oder ein Ordner ist. Dann verwenden wir "os.path.splitext ()", um die Erweiterung zu identifizieren. Wenn es sich bei der angegebenen Datei um eine PDF-Datei handelt, wird sie der Liste der Dateien hinzugefügt, die von "append ()" zusammengeführt werden sollen.

Geben Sie einen Ordner an

Wenn der eingegebene Pfad ein Ordnername ist, werden alle PDF-Dateien in diesem Verzeichnis zur Liste hinzugefügt und der hinzugefügte Dateiname ausgegeben.

merge.py(5)


        else:
            for file in glob.glob(in_file + '*.pdf'):
                merge_files.append(file)
                print("Add " + file)
                i += 1

Die PDF-Dateien im angegebenen Ordner werden von "glob.glob ()" aufgelistet und der Liste hinzugefügt, um sie der Reihe nach zusammenzuführen.

Geben Sie die Ausgabedatei an

Geben Sie den Namen der Ausgabe-PDF-Datei an. Wenn die Erweiterung des angegebenen Namens nicht ".pdf" lautet, wird sie durch Hinzufügen von ".pdf" am Ende in das PDF-Format konvertiert.

merge.py(6)


    print("Generated file -> ", end='')
    out_file = input()
    ext = os.path.splitext(out_file)

    if ext != '.pdf':
        out_file = out_file + '.pdf'

Wieder verwenden wir os.path.splitext (), um die Erweiterung nachzuschlagen.

Dateiintegration / -ausgabe

Die zu integrierende Datei wird einmal zur Zusammenführung hinzugefügt und dann in die angegebene Datei geschrieben.

merge.py(7)


    for file in merge_files:
        merger.append(file)
    
    merger.write(out_file)
    merger.close()
    print("File merge completed!!")

Fügen Sie es mit "append ()" zur Fusion hinzu und erstellen Sie dann mit "write ()" eine PDF-Datei am angegebenen Ausgabeziel.

Schließlich

Bitte überprüfen Sie den gesamten Code von github → (PDF-Handler) Bitte beachten Sie, dass Python ein Anfänger ist, daher kann es schwierig sein, es zu lesen.

Recommended Posts

Integrieren Sie PDF-Dateien in Python
In Python integrieren
Sortieren von Bilddateien mit Python (2)
Sortieren Sie große Dateien mit Python
Sortieren von Bilddateien mit Python (3)
TXT-Dateien mit Python lesen
Extrahieren Sie Zip-Dateien rekursiv mit Python
Bearbeiten von EAGLE .brd-Dateien mit Python
[Python] POST-WAV-Dateien mit Anforderungen [POST]
Mit OpenSSL mit Python 3 verschlüsselte Dateien entschlüsseln
Behandeln Sie Excel-CSV-Dateien mit Python
Lesen Sie Dateien parallel zu Python
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
FizzBuzz in Python3
Scraping mit Python
Spielen Sie eine Audiodatei von Python mit Interrupt ab
Statistik mit Python
Scraping mit Python
Python mit Go
Konvertieren Sie in Python usw. geschriebene Dateien in PDF mit Syntax-Hervorhebung
Twilio mit Python
Spielen Sie mit 2016-Python
Mit openssl verschlüsselte Dateien werden mit openssl aus Python entschlüsselt
AES256 mit Python
Getestet mit Python
Vereinfachen Sie das Entsperren von PDF-Passwörtern mit Python + Bat
Python beginnt mit ()
Lesen und Schreiben von JSON-Dateien mit Python
Laden Sie mit Python Dateien im Web herunter
[Easy Python] Lesen von Excel-Dateien mit openpyxl
mit Syntax (Python)
Konvertieren Sie PDF-Dateien mit GIMP in PNG-Dateien
Bingo mit Python
Zundokokiyoshi mit Python
[Easy Python] Lesen von Excel-Dateien mit Pandas
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Zusammenfassung des Bibliotheksvergleichs zum Generieren von PDF mit Python
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
[Python & Unix] Kombinieren Sie mehrere PDF-Dateien zu einer.
[Automatisierung] Extrahieren Sie die Tabelle als PDF mit Python
Lesen Sie Tabellendaten in einer PDF-Datei mit Python
Behandeln Sie Zip-Dateien mit japanischen Dateinamen in Python 3
Ziehen Sie eine lokale Datei mit Selenium (Python) per Drag & Drop.
Zeichenkodierung beim Umgang mit Dateien in Python 3
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
PDF-Dateien und Websites zum Erlernen von Python 3
Lesen und Schreiben passt Dateien mit Python (Memo)
Konvertieren Sie mehrere Protodateien gleichzeitig mit Python
Lesen Sie WAV-Dateien nur mit dem Python-Standardpaket
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2