आप उपयोग कर सकते हैं PyPdf2 रों PdfMergerवर्ग।
फ़ाइल सम्मिलन
आप बस विधि का उपयोग करके फ़ाइलों को संक्षिप्त कर सकते हैं append।
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()
यदि आप चाहते हैं तो आप फ़ाइल पथ के बजाय फ़ाइल हैंडल पास कर सकते हैं।
फ़ाइल विलय
यदि आप मर्जिंग का अधिक बारीक नियंत्रण चाहते हैं, तो इसकी एक mergeविधि है PdfMerger, जो आपको आउटपुट फ़ाइल में एक सम्मिलन बिंदु निर्दिष्ट करने की अनुमति देती है, जिसका अर्थ है कि आप फ़ाइल में कहीं भी पृष्ठ सम्मिलित कर सकते हैं। appendविधि एक के रूप में सोचा जा सकता है mergeजहां सम्मिलन बिंदु फ़ाइल का अंत है।
जैसे
merger.merge(2, pdf)
यहां हम पूरे पीडीएफ को आउटपुट में सम्मिलित करते हैं लेकिन पेज 2 पर।
पेज रेंज
आप जो पृष्ठ एक विशिष्ट फ़ाइल से जोड़ दिए जाते हैं को नियंत्रित करना चाहते हैं, तो आप उपयोग कर सकते हैं pagesकी कीवर्ड तर्क appendऔर merge, रूप में एक टपल गुजर (start, stop[, step])(नियमित की तरह rangeसमारोह)।
जैसे
merger.append(pdf, pages=(0, 3)) # first 3 pages
merger.append(pdf, pages=(0, 6, 2)) # pages 1,3, 5
यदि आपने कोई अमान्य श्रेणी निर्धारित करते हैं कि आप एक मिल जाएगा IndexError।
नोट: यह भी कि फ़ाइलों को खुला छोड़ देने से बचने के लिए, PdfFileMergerएस करीबी विधि को बुलाया जाना चाहिए जब मर्ज की गई फ़ाइल लिखी गई हो। यह सुनिश्चित करता है कि सभी फाइलें समय पर बंद (इनपुट और आउटपुट) हों। यह शर्म की बात है कि PdfFileMergerएक संदर्भ प्रबंधक के रूप में लागू नहीं किया जाता है, इसलिए हम withकीवर्ड का उपयोग कर सकते हैं , स्पष्ट करीबी कॉल से बच सकते हैं और कुछ आसान अपवाद सुरक्षा प्राप्त कर सकते हैं।
आप pdfcatpypdf2 के भाग के रूप में प्रदान की गई स्क्रिप्ट को देखना चाहते हैं । आप संभावित रूप से पूरी तरह से कोड लिखने से बच सकते हैं।
PyPdf2 github में विलय के प्रदर्शन के कुछ उदाहरण कोड भी शामिल हैं ।