PyPdf2 s PdfMerger
sı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 merge
yöntemi vardır PdfMerger
. append
Yöntem A olarak düşünülebilir merge
ekleme 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 pages
anahtar kelime argüman append
ve merge
formda bir demet geçirerek, (start, stop[, step])
(düzenli gibi range
iş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 PdfFileMerger
bir bağlam yöneticisi olarak uygulanmayan bir utançtır , bu nedenle with
anahtar kelimeyi kullanabilir , açık yakın aramalardan kaçınabilir ve kolay bir istisna güvenliği elde edebiliriz.
Ayrıca pdfcat
pypdf2'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 .