Python में PDF फ़ाइलों के साथ काम करना: PyPDF2 लाइब्रेरी की संपूर्ण गाइड
PDF इलेक्ट्रॉनिक दस्तावेज़ों के लिए सबसे लोकप्रिय फ़ॉर्मेट्स में से एक है। लेकिन इसे मर्ज करना, विभाजित करना, एन्क्रिप्ट करना या इससे टेक्स्ट निकालना जैसे कामों के लिए मज़बूत टूल्स की ज़रूरत होती है। Python में PDF के साथ काम करने के लिए सबसे लोकप्रिय और स्थिर लाइब्रेरीज़ में से एक है PyPDF2।
PyPDF2 डेवलपर को PDF फ़ाइलों को पढ़ने, एडिट करने और बनाने की सुविधा देता है। साथ ही, यह मेटाडेटा प्राप्त करने, पेजों को मैनेज करने, सुरक्षा जोड़ने और वॉटरमार्क एम्बेड करने जैसी सुविधाएँ भी प्रदान करता है। यह डॉक्यूमेंट ऑटोमेशन और अन्य सर्विसेज़ के साथ इंटीग्रेशन के लिए एक शक्तिशाली टूल है।
PyPDF2 क्या है?
PyPDF2 एक Python लाइब्रेरी है जो PDF फ़ाइलों के साथ काम करने के लिए बनाई गई है। यह मूल PyPDF लाइब्रेरी का उन्नत संस्करण है। यह PDF फ़ॉर्मेट की आंतरिक संरचना को समझे बिना PDF दस्तावेज़ों को पढ़ने, लिखने और संशोधित करने के लिए एक हाई-लेवल API प्रदान करती है।
लाइब्रेरी की मुख्य क्षमताएँ
- PDF फ़ाइलों से टेक्स्ट पढ़ना और निकालना
- कई PDF दस्तावेज़ों को मर्ज करना
- PDF को अलग-अलग पेजों में विभाजित करना
- वॉटरमार्क जोड़ना और पेजों को ओवरले करना
- PDF फ़ाइलों को एन्क्रिप्ट और डिक्रिप्ट करना
- दस्तावेज़ों के मेटाडेटा के साथ काम करना
- पेजों को घुमाना और स्केल करना
- बुकमार्क और विषय-सूची के साथ काम करना
PyPDF2 की स्थापना
लाइब्रेरी को pip के माध्यम से इंस्टॉल करें:
pip install PyPDF2
अधिक स्थिरता के लिए, अतिरिक्त डिपेंडेंसी भी इंस्टॉल करने की सलाह दी जाती है:
pip install PyPDF2[crypto]
मुख्य क्लासेज़ और कम्पोनेंट्स
PdfReader
PdfReader क्लास PDF फ़ाइलों को पढ़ने के लिए है। यह पेजों, मेटाडेटा और दस्तावेज़ की अन्य जानकारी तक पहुँच प्रदान करता है।
PdfWriter
PdfWriter क्लास नई PDF फ़ाइलें बनाने या मौजूदा फ़ाइलों को संशोधित करने के लिए उपयोग होती है। यह पेज जोड़ने, एन्क्रिप्शन लागू करने और मेटाडेटा बदलने की सुविधा देती है।
PdfMerger
PdfMerger क्लास कई PDF फ़ाइलों को एक दस्तावेज़ में मर्ज करने में विशेषज्ञता रखती है, जिसमें पेजों के क्रम को सेट करने की सुविधा भी है।
PDF के साथ बुनियादी ऑपरेशन
PDF फ़ाइलें पढ़ना
from PyPDF2 import PdfReader
# PDF फ़ाइल लोड करें
reader = PdfReader("example.pdf")
# पेजों की संख्या प्राप्त करें
print(f"पेजों की संख्या: {len(reader.pages)}")
# पहले पेज से टेक्स्ट निकालें
first_page = reader.pages[0]
text = first_page.extract_text()
print(text)
सभी पेजों से टेक्स्ट निकालना
from PyPDF2 import PdfReader
reader = PdfReader("example.pdf")
full_text = ""
for page_num, page in enumerate(reader.pages):
text = page.extract_text()
full_text += f"--- पेज {page_num + 1} ---\n{text}\n\n"
print(full_text)
दस्तावेज़ की जानकारी जाँचना
from PyPDF2 import PdfReader
reader = PdfReader("example.pdf")
# एन्क्रिप्शन की जाँच
if reader.is_encrypted:
print("फ़ाइल एन्क्रिप्टेड है")
else:
print("फ़ाइल एन्क्रिप्टेड नहीं है")
# पहले पेज का आकार प्राप्त करें
page = reader.pages[0]
print(f"पेज का आकार: {page.mediabox}")
print(f"घुमाव: {page.rotation} डिग्री")
PDF फ़ाइलों को मर्ज करना
सरल मर्जिंग
from PyPDF2 import PdfMerger
merger = PdfMerger()
# फ़ाइलें जोड़ें
merger.append("file1.pdf")
merger.append("file2.pdf")
merger.append("file3.pdf")
# परिणाम सेव करें
merger.write("merged_document.pdf")
merger.close()
पेज रेंज निर्दिष्ट करके मर्ज करना
from PyPDF2 import PdfMerger
merger = PdfMerger()