La nueva biblioteca tiene PyPdf2PdfMerger
una clase, que puede ser utilizado como tal.
ejemplo:
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)
El método append
parece requerir un objeto de archivo perezoso. Es decir, no lee el archivo de inmediato. Parece esperar hasta que se invoque el método write
. Si usa un ámbito abierto (es decir, with
), agrega páginas en blanco al archivo resultante, ya que el archivo de entrada está cerrado en ese punto.
La manera más fácil de evitar esto si la duración del identificador de archivo es un problema, es pasar append
cadenas de nombre de archivo y permitirle manejar la vida útil del archivo.
decir
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")
Y ahora, https://pypi.python.org/pypi/PyPDF2 que es el proyecto sucesor PyPDF –
@ iago-lito Vea a continuación para [esto] (https://stackoverflow.com/a/37945454/1540468) respuesta. –