PyPdf2 s PdfMergersınıfını kullanabilirsiniz .
Dosya Birleştirme
Yöntemi kullanarak dosyaları basitçe birleştirebilirsinizappend .
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()
İsterseniz dosya yollarının yerine dosya tutamaçlarını iletebilirsiniz.
Dosya Birleştirme
Daha hassas birleştirme kontrolü istiyorsanız, çıktı dosyasında bir ekleme noktası belirlemenize izin veren, yani sayfaları dosyanın herhangi bir yerine ekleyebileceğiniz bir mergeyöntemi vardır PdfMerger. appendYöntem A olarak düşünülebilir mergeekleme noktası dosya sonu.
Örneğin
merger.merge(2, pdf)
Burada tüm pdf'yi çıktıya ekliyoruz ama 2. sayfada.
Sayfa Aralıkları
Belirli bir dosyadan eklenir hangi sayfaların kontrol etmek isterseniz, kullanabilirsiniz pagesanahtar kelime argüman appendve mergeformda bir demet geçirerek, (start, stop[, step])(düzenli gibi rangeişlevi).
Örneğin
merger.append(pdf, pages=(0, 3)) # first 3 pages
merger.append(pdf, pages=(0, 6, 2)) # pages 1,3, 5
Geçersiz bir aralık belirtirseniz, bir IndexError.
Not: Ayrıca dosyaların açık kalmasını önlemek için PdfFileMerger, birleştirilen dosya yazıldığında s close yönteminin çağrılması gerekir. Bu, tüm dosyaların zamanında kapatılmasını (giriş ve çıkış) sağlar. Bu PdfFileMergerbir bağlam yöneticisi olarak uygulanmayan bir utançtır , bu nedenle withanahtar kelimeyi kullanabilir , açık yakın aramalardan kaçınabilir ve kolay bir istisna güvenliği elde edebiliriz.
Ayrıca pdfcatpypdf2'nin bir parçası olarak sağlanan komut dosyasına da bakmak isteyebilirsiniz. Kod yazma ihtiyacını tamamen ortadan kaldırabilirsiniz.
PyPdf2 github ayrıca birleştirmeyi gösteren bazı örnek kodlar içerir .