Die neuere PyPdf2 Bibliothek hat eine PdfMerger
Klasse, die wie so verwendet werden kann.
Beispiel:
from PyPDF2 import PdfFileMerger
pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']
merger = PdfFileMerger()
for pdf in pdfs:
merger.append(open(pdf, 'rb'))
with open('result.pdf', 'wb') as fout:
merger.write(fout)
Die append
Methode scheint ein faules Dateiobjekt zu verlangen. Das heißt, es liest die Datei nicht sofort. Es scheint zu warten, bis die write
Methode aufgerufen wird. Wenn Sie einen offenen Bereich verwenden (d. H. with
), fügt er der resultierenden Datei leere Seiten hinzu, da die Eingabedatei zu diesem Zeitpunkt geschlossen ist.
Der einfachste Weg, dies zu vermeiden, wenn die Dateizugriffsdauer ein Problem ist, besteht darin, append
Dateinamenszeichenfolgen zu übergeben und die Dateilebensdauer zu verarbeiten.
heißt
from PyPDF2 import PdfFileMerger
pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']
merger = PdfFileMerger()
for pdf in pdfs:
merger.append(pdf)
merger.write("result.pdf")
Und jetzt https://pypi.python.org/pypi/PyPDF2 das Nachfolgeprojekt PyPDF ist –
@ iago-lito siehe unten [diese] zu (https://stackoverflow.com/a/37945454/1540468) antwort. –