Intégrez des fichiers PDF avec Python

introduction

Pour étudier la grammaire de base de Python, j'ai écrit un programme qui intègre plusieurs fichiers PDF dans un seul fichier PDF. PyPDF2 est utilisé pour combiner et écrire des fichiers PDF.

Installez PyPDF2

Installez PyPDF2 à l'aide de pip.

> pip install PyPDF2

importer

Importez PdfFileMerger pour intégrer les fichiers PDF, et ʻos, glob` pour trouver automatiquement les fichiers PDF lorsque vous spécifiez un dossier.

merge.py(1)


from PyPDF2 import PdfFileMerger
import os
import glob

Initialisation

Initialisez pour l'intégration.

merge.py(2)


def main():
    merger = PdfFileMerger()

    merge_files = []

Spécification des fichiers à intégrer

Traitement final spécifié

Tout d'abord, continuez à spécifier jusqu'à ce que «m» soit entré, et si «m» est entré, terminez de spécifier le fichier et passez au processus suivant. La variable i sert à compter le nombre de fichiers.

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

Spécifiez le fichier

Si le chemin saisi est le nom du fichier et qu'il s'agit d'un fichier PDF, il sera ajouté à la liste des fichiers à fusionner. Si l'extension n'est pas PDF, un message est émis pour la transmettre.

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("Le fichier spécifié n'est pas un fichier PDF.")

Ici, d'abord, ʻos.path.isfile () est utilisé pour identifier si l'argument est un fichier ou un dossier. Ensuite, nous utilisons ʻos.path.splitext () pour identifier l'extension. Si le fichier spécifié est un fichier PDF, ʻappend () `l'ajoute à la liste des fichiers à fusionner.

Spécifiez un dossier

Si le chemin d'accès entré est un nom de dossier, tous les fichiers pdf sous ce répertoire sont ajoutés à la liste et le nom de fichier ajouté est généré.

merge.py(5)


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

Les fichiers PDF dans le dossier spécifié sont répertoriés par glob.glob () et ajoutés à la liste pour être fusionnés dans l'ordre.

Spécifiez le fichier de sortie

Spécifiez le nom du fichier PDF de sortie. Si l'extension du nom spécifié n'est pas «.pdf», elle est convertie au format PDF en ajoutant «.pdf» à la fin.

merge.py(6)


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

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

Encore une fois, nous utilisons ʻos.path.splitext () `pour rechercher l'extension.

Intégration / sortie de fichiers

Le fichier à intégrer est ajouté à la fusion une fois, puis écrit dans le fichier spécifié.

merge.py(7)


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

Ajoutez-le à la fusion avec ʻappend () puis créez un fichier PDF avec la destination de sortie spécifiée avec write () `.

finalement

Veuillez vérifier l'intégralité du code depuis github → (PDF-Handler) Veuillez noter que Python est un débutant, il peut donc être difficile à lire.

Recommended Posts

Intégrez des fichiers PDF avec Python
Intégrer avec Python
Tri des fichiers image avec Python (2)
Trier de gros fichiers avec python
Tri des fichiers image avec Python (3)
Lire des fichiers .txt avec Python
Extraire récursivement des fichiers zip avec python
Manipulation des fichiers EAGLE .brd avec Python
[Python] Fichiers wav POST avec requêtes [POST]
Décrypter les fichiers cryptés avec OpenSSL avec Python 3
Gérer les fichiers Excel CSV avec Python
Lire des fichiers en parallèle avec Python
[AWS] Utilisation de fichiers ini avec Lambda [Python]
FizzBuzz en Python3
Grattage avec Python
Lire un fichier audio à partir de Python avec interruption
Statistiques avec python
Grattage avec Python
Python avec Go
Convertir des fichiers écrits en python, etc. en pdf avec la coloration syntaxique
Twilio avec Python
Jouez avec 2016-Python
Décrypter les fichiers cryptés avec openssl depuis python avec openssl
AES256 avec python
Testé avec Python
Simplifiez le déverrouillage du mot de passe PDF avec python + bat
python commence par ()
Lire et écrire des fichiers JSON avec Python
Télécharger des fichiers sur le Web avec Python
[Easy Python] Lecture de fichiers Excel avec openpyxl
avec syntaxe (Python)
Convertir des fichiers PDF en fichiers PNG avec GIMP
Bingo avec python
Zundokokiyoshi avec python
[Easy Python] Lecture de fichiers Excel avec des pandas
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Résumé de la comparaison des bibliothèques pour générer des PDF avec Python
[Python] Récupérez les fichiers dans le dossier avec Python
Convertir un PDF en image (JPEG / PNG) avec Python
[Python & Unix] Combinez plusieurs fichiers PDF en un seul.
[Automation] Extraire le tableau en PDF avec Python
Lire les données de la table dans un fichier PDF avec Python
Gérer les fichiers zip avec des noms de fichiers japonais dans Python 3
Faites glisser et déposez un fichier local avec Selenium (Python)
Encodage de caractères lors du traitement de fichiers en Python 3
Télécharger des fichiers sur Google Drive avec Lambda (Python)
Fichiers PDF et sites utiles pour apprendre Python 3
La lecture et l'écriture s'adaptent aux fichiers avec Python (mémo)
Convertissez plusieurs fichiers proto à la fois avec python
Lire les fichiers wav avec uniquement le package standard Python
Communication série avec Python
Zip, décompressez avec python
Django 1.11 a démarré avec Python3.6
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2