Comment fusionner des fichiers PDF avec Python : un guide complet

DDD
Libérer: 2024-10-23 08:30:29
original
695 Les gens l'ont consulté

How to Merge PDF Files with Python: A Comprehensive Guide

Fusionner des fichiers PDF avec Python

Python offre des options puissantes pour fusionner des fichiers PDF, vous permettant de combiner plusieurs documents en un seul et unifié. . Ce didacticiel vous guidera tout au long du processus, y compris des techniques avancées telles que parcourir des répertoires en boucle et exclure des pages spécifiques.

Utilisation de la classe de fusion pypdf

pypdf fournit la classe PdfMerger, qui offre un moyen simple de concaténer et de fusionner des fichiers PDF.

Concaténation de fichiers

Concaténer des fichiers en les ajoutant à l'aide de la méthode d'ajout :

<code class="python">import PdfMerger

pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']

merger = PdfMerger()

for pdf in pdfs:
    merger.append(pdf)

merger.write("result.pdf")</code>
Copier après la connexion

Fusion de fichiers

Pour un contrôle plus précis, utilisez la méthode de fusion pour spécifier les points d'insertion :

<code class="python">merger.merge(2, pdf)  # Insert PDF at page 2</code>
Copier après la connexion

Étendues de pages

Contrôlez quelles pages sont ajoutées à l'aide de l'argument de mot-clé pages :

<code class="python">merger.append(pdf, pages=(0, 3))  # Append first 3 pages
merger.append(pdf, pages=(0, 6, 2))  # Append pages 1, 3, 5</code>
Copier après la connexion

Exclusion des pages vierges

Pour exclure une page spécifique de tous les PDF fusionnés, vous pouvez manipuler les pages paramètre en conséquence. Par exemple, pour exclure la page 1 de chaque PDF :

<code class="python">pages_to_exclude = [0]  # Page 1

for pdf in pdfs:
    merger.append(pdf, pages=(i for i in range(pages) if i not in pages_to_exclude))</code>
Copier après la connexion

Bibliothèque PyMuPdf

Une autre option est la bibliothèque PyMuPdf. Voici comment fusionner des PDF avec :

Depuis la ligne de commande

python -m fitz join -o result.pdf file1.pdf file2.pdf file3.pdf
Copier après la connexion

Depuis le code

<code class="python">import fitz

result = fitz.open()

for pdf in ['file1.pdf', 'file2.pdf', 'file3.pdf']:
    with fitz.open(pdf) as mfile:
        result.insert_pdf(mfile)
    result.save("result.pdf")</code>
Copier après la connexion

Parcourir des dossiers

Pour parcourir des dossiers et fusionner des PDF, utilisez le module os :

<code class="python">import os

for folder in os.listdir("path/to/directory"):
    pdfs = [f for f in os.listdir(f"path/to/directory/{folder}") if f.endswith(".pdf")]
    merger = PdfMerger()
    for pdf in pdfs:
        merger.append(f"path/to/directory/{folder}/{pdf}")
    merger.write(f"merged_{folder}.pdf")</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!