DEV Community

Liam Anderson
Liam Anderson

Posted on

Comment fusionner des fichiers ou des pages PDF en un seul avec Python

Travailler avec plusieurs fichiers PDF peut parfois être fastidieux, surtout lorsque vous devez les organiser, les partager ou les archiver. Heureusement, il existe une solution pratique : fusionner les fichiers PDF en un seul document. Dans cet article, nous vous fournirons un guide complet sur la façon de fusionner plusieurs fichiers PDF en un seul en utilisant Python.

Installer la bibliothèque requise

Avant de commencer le processus de fusion des fichiers ou des pages PDF, il est essentiel d'installer la bibliothèque nécessaire. Dans cet article, nous utiliserons la bibliothèque Spire.PDF for Python.

Pour installer cette bibliothèque, ouvrez le terminal de votre projet et exécutez la commande pip suivante :

pip install spire.pdf 
Enter fullscreen mode Exit fullscreen mode

Fusionner des fichiers PDF en un seul avec Python

Une fois que vous avez installé la bibliothèque, vous pouvez l'utiliser pour fusionner plusieurs fichiers PDF en un seul PDF, fusionner des pages sélectionnées de plusieurs fichiers PDF en un seul PDF, ou fusionner plusieurs pages d'un PDF en une seule page.

Exemple 1 : Fusionner plusieurs fichiers PDF en un seul PDF avec Python

Voici un exemple simple qui montre comment fusionner plusieurs fichiers PDF en un seul PDF en utilisant Python et Spire.PDF for Python :

from spire.pdf.common import * 
from spire.pdf import * 

# Créer une liste des chemins des fichiers PDF 
inputFile1 = "Sample1.pdf" 
inputFile2 = "Sample2.pdf" 
inputFile3 = "Sample3.pdf" 
files = [inputFile1, inputFile2, inputFile3] 

# Fusionner les documents PDF 
pdf = PdfDocument.MergeFiles(files) 

# Enregistrer le document résultant 
pdf.Save("output/MergePDF.pdf", FileFormat.PDF) 
pdf.Close() 
Enter fullscreen mode Exit fullscreen mode

Exemple 2 : Fusionner des pages sélectionnées de plusieurs fichiers PDF en un seul PDF avec Python

Voici un exemple simple qui montre comment fusionner des pages sélectionnées de plusieurs fichiers PDF en un seul PDF en utilisant Python et Spire.PDF for Python :

from spire.pdf import * 
from spire.pdf.common import * 

# Créer une liste des chemins des fichiers PDF 
file1 = "Sample1.pdf" 
file2 = "Sample2.pdf" 
file3 = "Sample3.pdf" 
files = [file1, file2, file3] 

# Charger chaque fichier PDF en tant qu'objet PdfDocument et les ajouter à une liste 
pdfs = [] 
for file in files: 
    pdfs.append(PdfDocument(file)) 

# Créer un objet de la classe PdfDocument 
newPdf = PdfDocument() 

# Insérer les pages sélectionnées des documents PDF chargés dans le nouveau document 
newPdf.InsertPage(pdfs[0], 0) 
newPdf.InsertPage(pdfs[1], 1) 
newPdf.InsertPageRange(pdfs[2], 0, 1) 

# Enregistrer le nouveau document PDF 
newPdf.SaveToFile("output/SelectedPages.pdf") 
Enter fullscreen mode Exit fullscreen mode

Exemple 3 : Fusionner plusieurs pages PDF en une seule page avec Python

Voici un exemple simple qui montre comment fusionner plusieurs pages d'un PDF en une seule page en utilisant Python et Spire.PDF for Python :

from spire.pdf.common import * 
from spire.pdf import * 

# Charger un fichier PDF 
pdf = PdfDocument("File1.pdf") 

# Obtenir la largeur de la page et la hauteur de la page du PDF chargé 
pageWidth = pdf.PageSettings.Width 
pageHeight = pdf.PageSettings.Height 

# Spécifier l'indice de départ et l'indice de fin des pages à fusionner 
startPageIndex = 0 
endPageIndex = 1 

# Créer un nouveau fichier PDF 
newPdf = PdfDocument() 

# Créer une nouvelle largeur de page qui est la somme des largeurs des pages à fusionner 
newPageWidth = pageWidth * (endPageIndex - startPageIndex + 1) 

# Ajouter une nouvelle page avec la nouvelle largeur de page et la même hauteur de page dans le nouveau fichier PDF 
newPage = newPdf.Pages.Add(SizeF(newPageWidth, pageHeight), PdfMargins(0.0)) 

# Spécifier les coordonnées initiales x et y 
x = 0.0 
y = 0.0 

# Parcourir les pages à fusionner dans le PDF chargé 
for i in range(startPageIndex, endPageIndex + 1): 
    page = pdf.Pages[i] 
    # Dessiner le contenu de chaque page à un emplacement spécifique de la nouvelle page du nouveau fichier PDF 
    newPage.Canvas.DrawTemplate(page.CreateTemplate(), PointF(x, y)) 
    # Changer la coordonnée x 
    x += pageWidth 

# Enregistrer le nouveau fichier PDF dans un chemin spécifique 
newPdf.SaveToFile("MergePDFPagesIntoOnePage.pdf") 

pdf.Close() 
newPdf.Close() 
Enter fullscreen mode Exit fullscreen mode

Sujets connexes

Top comments (0)