पीडीएफ फाइल में टाइम स्टैम्प के साथ डिजिटल हस्ताक्षर करें
परिचय
क्या आपको कभी किसी PDF पर डिजिटल हस्ताक्षर करने और अतिरिक्त सुरक्षा के लिए टाइमस्टैम्प शामिल करने की ज़रूरत पड़ी है? चाहे आप कानूनी दस्तावेज़ों, अनुबंधों या किसी भी ऐसी चीज़ पर काम कर रहे हों जिसके लिए सुरक्षित प्रमाणीकरण की आवश्यकता होती है, टाइमस्टैम्प वाला डिजिटल हस्ताक्षर विश्वसनीयता की एक अतिरिक्त परत जोड़ता है। इस ट्यूटोरियल में, हम बताएंगे कि आप अपने PDF दस्तावेज़ों में टाइमस्टैम्प के साथ डिजिटल हस्ताक्षर जोड़ने के लिए .NET के लिए Aspose.PDF का उपयोग कैसे कर सकते हैं। चिंता न करें, हम इसे चरण दर चरण करेंगे!
आवश्यक शर्तें
इससे पहले कि हम कोड में उतरें, कुछ चीजें हैं जिन्हें आपको अनुसरण करने के लिए सेट अप करना होगा। आरंभ करने के लिए आवश्यक शर्तों की एक त्वरित चेकलिस्ट यहां दी गई है:
- Aspose.PDF for .NET लाइब्रेरी: आपको अपने प्रोजेक्ट में Aspose.PDF for .NET लाइब्रेरी इंस्टॉल करनी होगी। आप ऐसा कर सकते हैंडाउनलोड का नवीनतम संस्करण यहां या इसे NuGet के माध्यम से अपने प्रोजेक्ट में जोड़ें।
- एक पीडीएफ दस्तावेज़: आपको काम करने के लिए एक नमूना पीडीएफ फ़ाइल की आवश्यकता होगी। सुनिश्चित करें कि आपके प्रोजेक्ट की निर्देशिका में वह फ़ाइल हो जिस पर आप हस्ताक्षर करना चाहते हैं।
- डिजिटल प्रमाणपत्र (PFX फ़ाइल): सुनिश्चित करें कि आपके पास एक डिजिटल प्रमाणपत्र (PFX फ़ाइल) है
.pfx
दस्तावेज़ पर डिजिटल हस्ताक्षर करने के लिए फ़ाइल का उपयोग करें। - टाइमस्टैम्पिंग यूआरएल: यह एक ऑनलाइन टाइमस्टैम्पिंग सेवा है जिसका उपयोग डिजिटल हस्ताक्षर में टाइमस्टैम्प संलग्न करने के लिए किया जाएगा।
- बुनियादी C# ज्ञान: आपको विशेषज्ञ होने की आवश्यकता नहीं है, लेकिन C# की मूल बातें जानने से आपको कोड को समझने और अनुकूलित करने में मदद मिलेगी।
एक बार जब आप इन सभी बक्सों पर टिक कर देंगे, तो आप कोडिंग शुरू करने के लिए तैयार हैं!
पैकेज आयात करें
आरंभ करने के लिए, आपको अपने C# प्रोजेक्ट में निम्नलिखित नेमस्पेस आयात करने होंगे। यह सुनिश्चित करता है कि आपके पास प्रासंगिक Aspose.PDF क्लास और फ़ंक्शन तक पहुँच है।
using System.IO;
using System;
using Aspose.Pdf;
using Aspose.Pdf.Facades;
using Aspose.Pdf.Forms;
using System.Collections;
चरण 1: पीडीएफ दस्तावेज़ लोड करें
सबसे पहले हमें वह पीडीएफ दस्तावेज़ लोड करना होगा जिस पर हम हस्ताक्षर करना चाहते हैं। ऐसा करने का तरीका इस प्रकार है:
// अपने दस्तावेज़ निर्देशिका का पथ निर्धारित करें
string dataDir = "YOUR DOCUMENTS DIRECTORY";
// पीडीएफ दस्तावेज़ लोड करें
Document document = new Document(dataDir + @"DigitallySign.pdf");
यह कदम बहुत सीधा है। हम बस उस दस्तावेज़ का पथ परिभाषित कर रहे हैं जिस पर हम हस्ताक्षर करना चाहते हैं।Document
Aspose.PDF से क्लास फ़ाइल लोड करने का काम संभालती है।
चरण 2: डिजिटल हस्ताक्षर सेट करें
इसके बाद, हम PKCS7 क्लास का उपयोग करके डिजिटल हस्ताक्षर बनाएंगे और PFX फ़ाइल लोड करेंगे। इस PFX फ़ाइल में आपका प्रमाणपत्र और निजी कुंजी होती है, जो दस्तावेज़ पर हस्ताक्षर करने के लिए आवश्यक है।
// आपकी .pfx फ़ाइल का पथ
string pfxFile = "YOUR DOCUMENTS DIRECTORY\\certificate.pfx";
// हस्ताक्षर ऑब्जेक्ट को आरंभ करें
PdfFileSignature signature = new PdfFileSignature(document);
// PFX फ़ाइल को पासवर्ड के साथ लोड करें
PKCS7 pkcs = new PKCS7(pfxFile, "pfx_password");
इस बिंदु पर, आप Aspose को दस्तावेज़ पर हस्ताक्षर करने के लिए अपने डिजिटल प्रमाणपत्र का उपयोग करने के लिए कह रहे हैं।PKCS7
ऑब्जेक्ट आपके लिए सभी क्रिप्टोग्राफिक कार्यों को संभालता है, इसलिए आपको बारीकियों के बारे में चिंता करने की आवश्यकता नहीं है।
चरण 3: टाइमस्टैम्प सेटिंग जोड़ें
एक मजबूत डिजिटल हस्ताक्षर के प्रमुख घटकों में से एक टाइमस्टैम्प है। यह सुनिश्चित करता है कि प्रमाणपत्र समाप्त होने के बाद भी दस्तावेज़ के हस्ताक्षर को सत्यापित किया जा सकता है। आइए ऑनलाइन टाइमस्टैम्पिंग प्राधिकरण का उपयोग करके टाइमस्टैम्प सेट करें।
// टाइमस्टैम्प सेटिंग परिभाषित करें
TimestampSettings timestampSettings = new TimestampSettings("https://your_timestamp_url", "उपयोगकर्ता:पासवर्ड");
// PKCS7 ऑब्जेक्ट में टाइमस्टैम्प सेटिंग जोड़ें
pkcs.TimestampSettings = timestampSettings;
यहाँ, आप टाइमस्टैम्पिंग सेवा के लिए URL निर्दिष्ट कर रहे हैं, जो स्वचालित रूप से आपके हस्ताक्षर को समय और दिनांक प्रदान करेगा। यह प्रमाणीकरण के साथ या उसके बिना किया जा सकता है।
चरण 4: हस्ताक्षर का स्थान और स्वरूप निर्धारित करें
अब, हम परिभाषित करेंगे कि पीडीएफ में हस्ताक्षर कहां दिखाई देगा और उसका आकार क्या होगा। आप पेज पर हस्ताक्षर बॉक्स की स्थिति और आकार को भी अनुकूलित कर सकते हैं।
//हस्ताक्षर का स्वरूप और स्थान निर्धारित करें (पृष्ठ 1, निर्दिष्ट आयत के साथ)
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
यहां, हम एक आयत परिभाषित कर रहे हैं जो हस्ताक्षर को पीडीएफ के पहले पृष्ठ पर निर्देशांक (100, 100) पर रखता है, जिसकी चौड़ाई 200 और ऊंचाई 100 है। आप अपने डिज़ाइन के अनुसार इन मानों को बदल सकते हैं।
चरण 5: पीडीएफ दस्तावेज़ पर हस्ताक्षर करें
सब कुछ सेट अप करने के बाद, अब पीडीएफ पर डिजिटल हस्ताक्षर लागू करने का समय है। यह चरण प्रमाणपत्र, टाइमस्टैम्प और पोजिशनिंग को एक सरल कमांड में जोड़ता है।
// दस्तावेज़ के पहले पृष्ठ पर हस्ताक्षर करें
signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
आइये देखें क्या हो रहा है:
- 1: यह इंगित करता है कि हस्ताक्षर प्रथम पृष्ठ पर लागू किया जाना चाहिए।
- “हस्ताक्षर का कारण”: यह वह स्थान है जहाँ आप निर्दिष्ट कर सकते हैं कि आप दस्तावेज़ पर हस्ताक्षर क्यों कर रहे हैं।
- “संपर्क”: हस्ताक्षरकर्ता की संपर्क जानकारी दर्ज करें।
- “स्थान”: हस्ताक्षरकर्ता का स्थान निर्दिष्ट करें.
- सत्य: यह बूलियन मान इंगित करता है कि हस्ताक्षर दस्तावेज़ में दृश्यमान है या नहीं।
- आयत: हमने पहले जो आयत परिभाषित किया था वह हस्ताक्षर का आकार और स्थिति निर्दिष्ट करता है।
- pkcs: PKCS7 ऑब्जेक्ट में डिजिटल प्रमाणपत्र और टाइमस्टैम्प सेटिंग्स होती हैं।
चरण 6: हस्ताक्षरित पीडीएफ को सहेजें
एक बार दस्तावेज़ पर हस्ताक्षर हो जाने के बाद, बस उसे सहेजना बाकी रह जाता है। आप मूल और हस्ताक्षरित दोनों संस्करणों को रखने के लिए एक नया फ़ाइल नाम चुन सकते हैं।
// हस्ताक्षरित PDF दस्तावेज़ सहेजें
signature.Save(dataDir + "DigitallySignWithTimeStamp_out.pdf");
आपकी नई हस्ताक्षरित और टाइमस्टैम्प्ड पीडीएफ अब निर्दिष्ट निर्देशिका में सहेजी गई है!
निष्कर्ष
और अब आपका काम हो गया! आपने .NET के लिए Aspose.PDF का उपयोग करके टाइमस्टैम्प के साथ PDF पर सफलतापूर्वक डिजिटल हस्ताक्षर कर लिए हैं। यह प्रक्रिया आपके दस्तावेज़ों की प्रामाणिकता और अखंडता सुनिश्चित करती है, जिससे आपको और प्राप्तकर्ता दोनों को मानसिक शांति मिलती है। आज की डिजिटल दुनिया में डिजिटल हस्ताक्षर अधिक से अधिक आवश्यक होते जा रहे हैं, इसलिए इस प्रक्रिया में महारत हासिल करना निश्चित रूप से एक कौशल है।
अक्सर पूछे जाने वाले प्रश्न
क्या मैं प्रमाणपत्र के लिए भिन्न फ़ाइल प्रारूप का उपयोग कर सकता हूँ?
हां, लेकिन ट्यूटोरियल PFX फ़ाइल के उपयोग पर केंद्रित है, जो डिजिटल प्रमाणपत्रों के लिए सबसे आम प्रारूप है।
क्या टाइमस्टैम्प लागू करने के लिए मुझे इंटरनेट कनेक्शन की आवश्यकता है?
हां, चूंकि टाइमस्टैम्प ऑनलाइन टाइमस्टैम्पिंग प्राधिकरण से प्राप्त किया जाता है, इसलिए आपको इंटरनेट एक्सेस की आवश्यकता होगी।
क्या मैं एक पीडीएफ में एक से अधिक पृष्ठों पर हस्ताक्षर कर सकता हूँ?
बिल्कुल! आप इसे संशोधित कर सकते हैंsignature.Sign()
एकाधिक पृष्ठों को लक्षित करने या सभी पृष्ठों के माध्यम से लूप करने की विधि।
यदि PFX फ़ाइल का पासवर्ड गलत हो तो क्या होगा?
यदि पासवर्ड गलत होगा तो आपको अपवाद संदेश प्राप्त होगा, इसलिए सुनिश्चित करें कि पासवर्ड सही ढंग से दर्ज किया गया हो।
क्या मैं हस्ताक्षर को अदृश्य बना सकता हूँ?
हां, आप पास हो सकते हैंfalse
तकSign
हस्ताक्षर को अदृश्य बनाने के लिए विधि के दृश्यता पैरामीटर का उपयोग करें।