आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

संवेदनशील फाइलों तक अनधिकृत पहुंच आज एक आम समस्या है। यह सुनिश्चित करने के लिए कि केवल आपके द्वारा अधिकृत लोग ही आपकी फ़ाइलों की सामग्री तक पहुंच सकते हैं, आप ट्रांसमिशन से पहले उन्हें एन्क्रिप्ट कर सकते हैं।

जानें कि कैसे पायथन का उपयोग करके एक पीडीएफ फाइल को एन्क्रिप्ट करना है, और कैसे एक को उसकी मूल स्थिति में वापस डिक्रिप्ट करना है।

पर्यावरण की स्थापना

साथ चलने के लिए, आपको इससे परिचित होना चाहिए पायथन की मूल बातें.

मैक टर्मिनल या विंडोज कमांड लाइन इंटरफेस पर, PyMuPDF लाइब्रेरी को स्थापित करने के लिए निम्न कमांड चलाएँ:

पिप PyMuPDF स्थापित करें

यह लाइब्रेरी पीडीएफ फाइलों को खोलने और उनमें हेरफेर करने में आपकी मदद करेगी।

जब आपने PyMuPDF को इंस्टॉल करना समाप्त कर लिया है, तो आप कोडिंग शुरू करने के लिए तैयार हैं।

पूर्ण स्रोत कोड a में उपलब्ध है गिटहब रिपॉजिटरी.

Fitz मॉड्यूल आयात करें

PyMuPDF लाइब्रेरी का फिट्ज़ मॉड्यूल आयात करें। यह आपको इसके द्वारा समर्थित कार्यों को कॉल करने और उपयोग करने में सक्षम करेगा।

instagram viewer
आयात fitz

आप पीडीएफ को खोलने, एन्क्रिप्ट करने, डिक्रिप्ट करने और सहेजने के लिए फिट्ज का उपयोग करेंगे।

जांचें कि पीडीएफ एन्क्रिप्टेड है या नहीं

एक फ़ंक्शन बनाएं जो यह जांच करेगा कि पीडीएफ पहले से ही एन्क्रिप्टेड है या बूलियन मान लौटा रहा है।

डीईएफ़pdf_is_एन्क्रिप्टेड(फ़ाइल):
पीडीएफ = फिट्ज. डॉक्युमेंट फाइल)
वापस करना pdf.isएन्क्रिप्टेड

आप इस फ़ंक्शन का उपयोग बाद में प्रोग्राम को स्वचालित रूप से यह तय करने में मदद करने के लिए करेंगे कि इनपुट पीडीएफ को एन्क्रिप्ट या डिक्रिप्ट करना है या नहीं।

पीडीएफ को एन्क्रिप्ट करना

इनपुट पीडीएफ को एन्क्रिप्ट करने के लिए एक फ़ंक्शन बनाएं। फ़ंक्शन जांच करेगा कि पीडीएफ पहले ही एन्क्रिप्ट किया गया है या नहीं। यदि यह एन्क्रिप्टेड नहीं है, तो यह इसका उपयोग करके एन्क्रिप्ट करेगा एईएस-256 एल्गोरिथम. Fitz द्वारा प्रदान किया जाने वाला यह सबसे मजबूत एन्क्रिप्शन एल्गोरिद्म है। यह अंत में एन्क्रिप्टेड पीडीएफ को बचाएगा।

डीईएफ़एन्क्रिप्ट_pdf_file(पीडीएफ, पासवर्ड, आउटफाइल, फाइल):
अगरनहीं pdf_is_एन्क्रिप्टेड (फ़ाइल):
पर्म = इंट (
# पीडीएफ के साथ सभी को सुनिश्चित करें
# इसे एक्सेस कर सकते हैं
fitz. PDF_PERM_ACCESSIBILITY
| fitz. PDF_PERM_PRINT # प्रिंट करने की अनुमति देता है
| fitz. PDF_PERM_COPY # नकल करने की अनुमति देता है
| fitz. PDF_PERM_ANNOTATE # एनोटेशन की अनुमति देता है
)

# ई-एन्क्रिप्शन एल्गोरिथम
encrypt_meth = FITZ. PDF_ENCRYPT_AES_256

pdf.save (आउटफाइल, एन्क्रिप्शन = एन्क्रिप्ट_मेथ, user_pw = पासवर्ड,
अनुमतियाँ = पर्म)

अगर पीडीएफ.सेव:
प्रिंट ("पीडीएफ एन्क्रिप्टेड")

यह फ़ंक्शन एन्क्रिप्टेड पीडीएफ को उस फ़ाइल पथ पर सहेजता है जिसे आप आउटफाइल तर्क में पारित करते हैं।

एन्क्रिप्टेड पीडीएफ को डिक्रिप्ट करना

एक डिक्रिप्टिंग फ़ंक्शन बनाएँ। यह फ़ंक्शन पहले जांच करेगा कि इनपुट फ़ाइल एन्क्रिप्ट की गई है या नहीं। यदि यह एन्क्रिप्टेड है, तो यह उपयोगकर्ता को पासवर्ड दर्ज करने के लिए संकेत देगा। इसके बाद यह प्रदान किए गए पासवर्ड का उपयोग करके पीडीएफ को खोलने का प्रयास करेगा। यदि पासवर्ड सही है, तो फिट्ज पीडीएफ को डिक्रिप्ट करेगा। इसके बाद यह डिक्रिप्ट की गई पीडीएफ की सामग्री को किसी अन्य असुरक्षित पीडीएफ फाइल में सेव कर देगा।

डीईएफ़decrypt_pdf(फ़ाइल):
अगर pdf_is_एन्क्रिप्टेड (फ़ाइल):
पासवर्ड = इनपुट ('पीडीएफ पासवर्ड दर्ज करें:')
पीडीएफ = FITZ.ओपन (फ़ाइल)

अगर pdf.प्रमाणीकरण (पासवर्ड):
पीडीएफ.सेव ('डिक्रिप्टेड.पीडीएफ')

अगर पीडीएफ.सेव:
प्रिंट ("पीडीएफ डिक्रिप्टेड")
अन्य:
प्रिंट ('गलत पासवर्ड')

यह कोड असुरक्षित PDF को आपकी वर्तमान कार्यशील निर्देशिका में सहेजता है।

डिक्रिप्ट किया है संरक्षित.पीडीएफ फ़ाइल और इसे इस रूप में सहेजा गया डिक्रिप्टेड.पीडीएफ.

कार्यक्रम के प्रवाह को नियंत्रित करना

एक मुख्य कार्य बनाएँ जो आपके कार्यक्रम के प्रवाह को नियंत्रित करेगा। यह इनपुट पीडीएफ के पथ को संग्रहीत करेगा, एन्क्रिप्ट और डिक्रिप्ट फ़ंक्शन को कॉल करेगा, और इनपुट पैरामीटर पास करेगा।

डीईएफ़मुख्य():
# फ़ाइल पथ को इनमें से किसी एक से बदलें
# पीडीएफ को एन्क्रिप्ट या डिक्रिप्ट किया जाना है
फ़ाइल = 'नमूना.पीडीएफ'
पीडीएफ = FITZ.ओपन (फ़ाइल)
पासवर्ड = 'पास123'
एन्क्रिप्ट_पीडीएफ_फाइल (पीडीएफ, पासवर्ड, 'संरक्षित.पीडीएफ', फ़ाइल)
डिक्रिप्ट_पीडीएफ (पीडीएफ)

एन्क्रिप्टेड पीडीएफ फाइल का नाम बदलने के लिए, ".पीडीएफ" एक्सटेंशन को रखना सुनिश्चित करते हुए, "प्रोटेक्टेड.पीडीएफ" को अपने नाम से बदलें।

मुख्य विधि चलाना

सुनिश्चित करें कि मुख्य विधि पहले चलती है:

अगर __नाम__ == '__मुख्य__':
मुख्य()

यह कोड जाँचता है कि क्या स्क्रिप्ट को मुख्य प्रोग्राम के रूप में चलाया जा रहा है और आयातित मॉड्यूल के रूप में नहीं। यदि यह मुख्य कार्यक्रम है, तो यह मुख्य कार्य को कॉल करता है।

अपने पायथन कौशल को आगे बढ़ाएं

पायथन में एक पीडीएफ एन्क्रिप्शन/डिक्रिप्शन प्रोग्राम बनाना एक मजेदार लेकिन चुनौतीपूर्ण प्रोजेक्ट है। यह आपको अपने पायथन कौशल का अभ्यास करने और भाषा के साथ फ़ाइल प्रबंधन में महारत हासिल करने में मदद करता है।

अपने कौशल को आगे बढ़ाने के लिए, आपको अधिक Python प्रोजेक्ट्स पर काम करना चाहिए। यह आपको अधिक पायथन पुस्तकालयों और मॉड्यूल के साथ बातचीत करने में मदद करेगा। पायथन बहुत विविध है और आप इसे कई क्षेत्रों में विभिन्न कार्यों को करने के लिए लागू कर सकते हैं।