Comment fusionner des fichiers ou des pages PDF en un seul avec Python
Tags: python, pdf
Published: 2023-09-14 05:47:41

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](https://www.e-iceblue.com/Introduce/pdf-for-python.html).

Pour installer cette bibliothèque, ouvrez le terminal de votre projet et exécutez la commande pip suivante :
```python
pip install spire.pdf 
```

## 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 :
```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() 
```
**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 :
```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") 
```
**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 :
```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() 
```

## Sujets connexes

- [Python : Convertir Excel en PDF](https://www.e-iceblue.com/Tutorials/Python/Spire.XLS-for-Python/Program-Guide/Conversion/Python-Convert-Excel-to-PDF.html)
- [Python : Convertir Excel en CSV et vice versa](https://www.e-iceblue.com/Tutorials/Python/Spire.XLS-for-Python/Program-Guide/Conversion/Python-Convert-Excel-to-CSV-and-Vice-Versa.html)
- [Python : Convertir Excel en images](https://www.e-iceblue.com/Tutorials/Python/Spire.XLS-for-Python/Program-Guide/Conversion/Python-Convert-Excel-to-Images.html)
- [Python : Créer, lire ou mettre à jour des documents Excel](https://www.e-iceblue.com/Tutorials/Python/Spire.XLS-for-Python/Program-Guide/Document-Operation/Python-Create-Read-or-Update-Excel-Documents.html)
- [Python : Convertir un document Word en PDF](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Conversion/Python-Convert-Word-to-PDF.html)