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
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()
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")
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()
Top comments (0)