आप उपयोग कर सकते हैं 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
कीवर्ड का उपयोग कर सकते हैं , स्पष्ट करीबी कॉल से बच सकते हैं और कुछ आसान अपवाद सुरक्षा प्राप्त कर सकते हैं।
आप pdfcat
pypdf2 के भाग के रूप में प्रदान की गई स्क्रिप्ट को देखना चाहते हैं । आप संभावित रूप से पूरी तरह से कोड लिखने से बच सकते हैं।
PyPdf2 github में विलय के प्रदर्शन के कुछ उदाहरण कोड भी शामिल हैं ।