Anda dapat menggunakan PyPdf2 s PdfMergerkelas.
File Concatenation
Anda cukup menggabungkan file dengan menggunakan appendmetode ini.
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")
merger.close()
Anda dapat meneruskan file menangani sebagai gantinya jalur file jika Anda mau.
Penggabungan File
Jika Anda ingin kontrol penggabungan yang lebih halus, ada mergemetode PdfMerger, yang memungkinkan Anda menentukan titik penyisipan dalam file output, yang berarti Anda dapat memasukkan halaman di mana saja di file. The appendMetode dapat dianggap sebagai mergemana titik penyisipan adalah akhir file.
misalnya
merger.merge(2, pdf)
Di sini kami memasukkan seluruh pdf ke dalam output tetapi di halaman 2.
Rentang Halaman
Jika Anda ingin mengontrol halaman mana yang ditambahkan dari file tertentu, Anda dapat menggunakan pagesargumen kata kunci dari appenddan merge, meneruskan tupel dalam formulir (start, stop[, step])(seperti rangefungsi biasa ).
misalnya
merger.append(pdf, pages=(0, 3)) # first 3 pages
merger.append(pdf, pages=(0, 6, 2)) # pages 1,3, 5
Jika Anda menentukan rentang yang tidak valid, Anda akan mendapatkan IndexError.
Catatan: juga untuk menghindari file dibiarkan terbuka, metode PdfFileMergers close harus dipanggil ketika file yang digabungkan telah ditulis. Ini memastikan semua file ditutup (input dan output) pada waktu yang tepat. Ini memalukan karena PdfFileMergertidak diimplementasikan sebagai pengelola konteks, jadi kita dapat menggunakan withkata kunci, menghindari panggilan tutup eksplisit dan mendapatkan keamanan pengecualian yang mudah.
Anda mungkin juga ingin melihat pdfcatskrip yang disediakan sebagai bagian dari pypdf2. Anda berpotensi menghindari kebutuhan untuk menulis kode sama sekali.
Github PyPdf2 juga menyertakan beberapa kode contoh yang menunjukkan penggabungan.