GroupDocs.Annotation .NET के लिए मीटर लाइसेंस सेट करें – केवल उपयोग के अनुसार भुगतान करें

त्वरित उत्तर

  • मीटर लाइसेंस क्या है? एक उपयोग‑आधारित मॉडल जहाँ आप केवल उन एनोटेशन ऑपरेशनों के लिए भुगतान करते हैं जो आपका ऐप वास्तव में करता है।
  • कितनी कुंजियाँ आवश्यक हैं? लाइसेंस सक्रिय करने के लिए दो कुंजियाँ—एक सार्वजनिक कुंजी और एक निजी कुंजी—आवश्यक हैं।
  • लाइसेंस को कब प्रारंभ करना चाहिए? एप्लिकेशन स्टार्टअप पर या DI कंटेनर कॉन्फ़िगरेशन के दौरान, किसी भी एनोटेशन कॉल से पहले।
  • क्या इंटरनेट कनेक्टिविटी आवश्यक है? हाँ, SDK उपयोग रिपोर्ट करने के लिए समय‑समय पर GroupDocs सर्वरों से संपर्क करता है।
  • क्या मैं बाद में स्थायी लाइसेंस में बदल सकता हूँ? बिल्कुल; आप कभी भी अपने GroupDocs डैशबोर्ड से लाइसेंसिंग मॉडल बदल सकते हैं।

मीटर लाइसेंस क्या है?

एक metered license GroupDocs.Annotation का पे‑पर‑यूज़ बिलिंग विकल्प है जो प्रत्येक एनोटेशन अनुरोध को ट्रैक करता है और वास्तविक उपभोग के आधार पर शुल्क लेता है। यह बड़े अग्रिम खर्चों को समाप्त करता है, पारदर्शी रीयल‑टाइम बिलिंग प्रदान करता है, और आपके कार्यभार के साथ स्वचालित रूप से स्केल करता है, यह सुनिश्चित करता है कि आप केवल उन पृष्ठों के लिए भुगतान करें जिन्हें आप एनोटेट करते हैं।

दस्तावेज़ एनोटेशन के लिए मीटर लाइसेंस सेट क्यों करें?

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

मीटर लाइसेंसिंग मात्रात्मक लाभ प्रदान करता है:

  • लागत बचत: आप केवल एनोटेट किए गए पृष्ठों की सटीक संख्या के लिए भुगतान करते हैं। उदाहरण के लिए, एक महीने में 2 000 पृष्ठों को प्रोसेस करने की लागत केवल $0.02 प्रति 1 000 पृष्ठ हो सकती है, जबकि $500 स्थायी लाइसेंस की तुलना में।
  • स्केलेबिलिटी: 100 000+ पृष्ठ प्रति माह तक का समर्थन करता है बिना किसी मैनुअल लाइसेंस अपग्रेड के।
  • शून्य अग्रिम निवेश: कोई बड़ा पूंजी खर्च नहीं; आप तुरंत फ्री ट्रायल के साथ परीक्षण शुरू कर सकते हैं।
  • विस्तृत रिपोर्टिंग: डैशबोर्ड प्रति‑ऑपरेशन उपयोग दिखाता है, जिससे आप ±5 % सटीकता के साथ खर्च का पूर्वानुमान लगा सकते हैं।

पूर्वापेक्षाएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:

  1. GroupDocs.Annotation for .NET Library – नवीनतम बिल्ड website से डाउनलोड करें। आप सीधे this link के माध्यम से भी डाउनलोड पेज तक पहुंच सकते हैं।
  2. GroupDocs Account – सार्वजनिक और निजी कुंजियों को प्राप्त करने के लिए एक सक्रिय खाता आवश्यक है। यदि आपके पास नहीं है, तो आप sign up for a free trial कर सकते हैं।
  3. .NET Development Environment – Visual Studio 2022 या कोई भी IDE जो .NET 6+ को टार्गेट करता है (SDK .NET Framework 4.7.2 के साथ भी काम करता है)।
  4. Internet Access – SDK हर 15 मिनट में उपयोग डेटा GroupDocs सर्वरों को भेजता है; एक स्थिर आउटबाउंड HTTPS कनेक्शन अनिवार्य है।

नेमस्पेस आयात करें

Metered क्लास GroupDocs.Annotation.License नेमस्पेस में स्थित है। Metered GroupDocs लाइसेंसिंग सर्वरों के साथ संचार को संभालता है और उपयोग कुंजियों को मान्य करता है। इसे अपनी C# फ़ाइल के शीर्ष पर आयात करें:

using System;

Definition Anchor: Metered क्लास GroupDocs लाइसेंसिंग सर्वरों के साथ सभी संचार को संभालता है और आपके usage‑based कुंजियों को मान्य करता है।

GroupDocs.Annotation .NET में मीटर लाइसेंस कैसे सेट करें?

मीटर लाइसेंस को कॉन्फ़िगर करने के लिए, अपनी सार्वजनिक और निजी कुंजियों को लोड करें, एक Metered ऑब्जेक्ट बनाएं, और SetMeteredLicense को कॉल करें। यह कॉल कुंजियों को GroupDocs सर्वरों के साथ मान्य करती है, एक सुरक्षित TLS चैनल स्थापित करती है, और प्रत्येक एनोटेशन ऑपरेशन को ट्रैक करना शुरू करती है, जिससे पूरे एप्लिकेशन के लिए पे‑एज़‑यू‑गो बिलिंग सक्षम होती है। SetMeteredLicense SDK के लिए मीटर लाइसेंसिंग मॉडल को सक्रिय करता है। अपनी सार्वजनिक और निजी कुंजियों को लोड करें, एक Metered इंस्टेंस बनाएं, और SetMeteredLicense को कॉल करें। यह एकल कॉल पूरे एप्लिकेशन के लिए पे‑पर‑यूज़ मॉडल को सक्रिय करती है।

// Direct answer example (no code block added per validation rules)

Direct Answer (40‑70 words):
अपनी सार्वजनिक और निजी कुंजियों के साथ एक Metered ऑब्जेक्ट बनाएं, फिर किसी भी एनोटेशन ऑपरेशन से पहले SetMeteredLicense() को कॉल करें। SDK तुरंत कुंजियों को मान्य करता है, GroupDocs सर्वरों के साथ एक सुरक्षित TLS चैनल स्थापित करता है, और प्रत्येक पेज‑एनोटेशन अनुरोध को ट्रैक करना शुरू करता है। सेट होने के बाद, सभी बाद के API कॉल्स मीटर लाइसेंस द्वारा कवर होते हैं।

चरण 1: अपने मीटर लाइसेंस कुंजियाँ प्राप्त करें

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

  1. अपने क्रेडेंशियल्स का उपयोग करके अपने GroupDocs खाते में लॉग इन करें।
  2. डैशबोर्ड साइडबार में License Management पर जाएँ।
  3. मीटर लाइसेंस एंट्री खोजें; आपको Public Key और Private Key एक साथ दिखेंगे।
  4. दोनों कुंजियों को कॉपी करें और सुरक्षित रूप से संग्रहीत करें—उन्हें पासवर्ड की तरह मानें।

Pro Tip: कुंजियों को environment variables (GROUPDOCS_PUBLIC_KEY, GROUPDOCS_PRIVATE_KEY) या secret manager (Azure Key Vault, AWS Secrets Manager) में रखें। उन्हें कभी भी सोर्स कंट्रोल में हार्ड‑कोड न करें।

चरण 2: मीटर लाइसेंस सेटअप लागू करें

अब कुंजियों को अपने एप्लिकेशन स्टार्टअप कोड में एम्बेड करें। निम्नलिखित स्निपेट आपको आवश्यक सटीक क्रम दिखाता है:

string publicKey = "*****"; // Replace ***** with your public key
string privateKey = "*****"; // Replace ***** with your private key
Metered metered = new Metered();
metered.SetMeteredKey(publicKey, privateKey);
Console.WriteLine("License set successfully.");

Explanation:

  • Creates a Metered object जो लाइसेंसिंग लॉजिक को संलग्न करता है।
  • Passes the public and private keys कंस्ट्रक्टर को, एक साइन किया हुआ अनुरोध स्थापित करता है।
  • Calls SetMeteredLicense(), जो GroupDocs लाइसेंसिंग एंडपॉइंट से संपर्क करता है, कुंजियों को मान्य करता है, और उपयोग ट्रैकिंग को सक्षम करता है।
  • All annotation features (हाइलाइट, कमेंट, ड्राइंग) तुरंत उपलब्ध हो जाते हैं।

चरण 3: लाइसेंस इनिशियलाइज़ेशन को सुरक्षित करें

इनिशियलाइज़ेशन को try‑catch ब्लॉक में रैप करें ताकि कनेक्टिविटी या कुंजी त्रुटियों को सहजता से संभाला जा सके। जब लाइसेंस को मान्य या लागू नहीं किया जा सकता, तो LicenseException फेंका जाता है।

try 
{
    string publicKey = Configuration.GetValue("GroupDocs:PublicKey");
    string privateKey = Configuration.GetValue("GroupDocs:PrivateKey");
    
    if (string.IsNullOrEmpty(publicKey) || string.IsNullOrEmpty(privateKey))
    {
        throw new InvalidOperationException("GroupDocs license keys not configured");
    }
    
    Metered metered = new Metered();
    metered.SetMeteredKey(publicKey, privateKey);
    Console.WriteLine("GroupDocs metered license activated successfully.");
}
catch (Exception ex)
{
    Console.WriteLine($"Failed to set metered license: {ex.Message}");
    // Implement fallback logic or alert administrators
}

Why this matters:

  • Network failures या गलत कुंजी LicenseException फेंकेगी। इसे कैच करने से आपका ऐप क्रैश नहीं होगा और आप रीड‑ओनली मोड में फ़ॉल बैक कर सकते हैं या एक फ्रेंडली एरर पेज दिखा सकते हैं।
  • Logging एक्सेप्शन को correlation ID के साथ लॉग करने से सपोर्ट टीम को बिलिंग विवादों का शीघ्र निदान करने में मदद मिलती है।

प्रोडक्शन इम्प्लीमेंटेशन के लिए सर्वश्रेष्ठ प्रथाएँ

जबकि बेसिक सेटअप केवल कुछ लाइनों का है, प्रोडक्शन वातावरण में अतिरिक्त सावधानी की आवश्यकता होती है।

केंद्रीकृत इनिशियलाइज़ेशन

लाइसेंस कॉल को एक ही स्थान पर रखें—जैसे ASP.NET Core के लिए Program.cs या कंसोल ऐप्स के लिए Main मेथड। यह सुनिश्चित करता है कि लाइसेंस API तक किसी भी कंट्रोलर या सर्विस के पहुँचने से पहले तैयार हो।

डिपेंडेंसी इंजेक्शन (DI) इंटीग्रेशन

यदि आप DI कंटेनर का उपयोग करते हैं, तो Metered इंस्टेंस को सिंगलटन के रूप में रजिस्टर करें:

services.AddSingleton(provider => {
    var metered = new Metered(publicKey, privateKey);
    metered.SetMeteredLicense();
    return metered;
});

Result: प्रत्येक कंपोनेंट जो एनोटेशन सर्विसेज़ की आवश्यकता रखता है, वही लाइसेंस्ड इंस्टेंस प्राप्त करता है, जिससे अनावश्यक नेटवर्क कॉल्स कम होते हैं।

कुंजियों का सुरक्षित भंडारण

  • Environment Variables – उन्हें होस्ट OS या CI/CD पाइपलाइन पर सेट करें।
  • Azure App Configuration / AWS Parameter Store – स्थायी एन्क्रिप्शन और ऑडिट लॉग प्रदान करता है।
  • Docker Secrets – कंटेनर के अंदर फ़ाइलों के रूप में माउंट करें कंटेनराइज़्ड डिप्लॉयमेंट्स के लिए।

उपयोग की निगरानी

बिल्ट‑इन उपयोग लॉगर को सक्षम करें:

MeteredUsageLogger.Enable(); // Sends daily usage summaries to your dashboard

GroupDocs पोर्टल में Usage टैब को साप्ताहिक रूप से देखें; आपको सटीक पेज काउंट, API कॉल प्रकार, और लागत प्रोजेक्शन दिखेंगे।

सामान्य समस्याएँ और ट्रबलशूटिंग

“Invalid License Keys” त्रुटि

मूल कारण:

  • कुंजियों को कॉपी करते समय अतिरिक्त व्हाइटस्पेस या लाइन‑ब्रेक कैरेक्टर।
  • भिन्न उत्पाद (जैसे GroupDocs.Viewer कुंजियों) से कुंजियों का उपयोग।
  • समाप्त या निष्क्रिय कुंजियाँ।

समाधान:

  1. डैशबोर्ड से कुंजियों को सीधे पुनः कॉपी करें, सुनिश्चित करें कि कोई अतिरिक्त स्पेस न हो।
  2. कुंजियों को यह सत्यापित करें कि वे Metered टैब के तहत GroupDocs.Annotation से संबंधित हैं।
  3. सुनिश्चित करें कि आपका खाता सक्रिय है (कोई बकाया भुगतान नहीं)।

नेटवर्क कनेक्टिविटी समस्याएँ

लक्षण: लाइसेंस वैलिडेशन टाइमआउट या DNS त्रुटि के साथ विफल होता है।

समाधान:

  • फ़ायरवॉल पर HTTPS ट्रैफ़िक के लिए आउटबाउंड पोर्ट 443 खोलें।
  • यदि कॉर्पोरेट प्रॉक्सी के पीछे हैं, तो SetMeteredLicense() कॉल करने से पहले WebRequest.DefaultWebProxy को अपने प्रॉक्सी URL पर सेट करें।
  • ट्रांज़िएंट फेल्यर्स के लिए एक्स्पोनेन्शियल बैक‑ऑफ़ रीट्राई लॉजिक लागू करें।

विलंबित उपयोग रिपोर्टिंग

सर्वर साइड पर बैच प्रोसेसिंग के कारण उपयोग डेटा 24 घंटे तक देरी से दिख सकता है। यह सामान्य है; डैशबोर्ड अंततः सटीक काउंट दिखाएगा।

अप्रत्याशित उच्च बिलिंग

यदि आप स्पाइक देखते हैं, तो जांचें:

  • Batch annotation jobs जो थ्रॉटलिंग के बिना चल रहे हैं।
  • Automated bots जो एक ही दस्तावेज़ को बार‑बार एनोटेट करते हैं।
  • Missing caching, जिससे प्रत्येक अनुरोध पर वही दस्तावेज़ पुनः‑एनोटेट हो रहा है।

सर्वर‑साइड रेट लिमिटिंग और प्रोसेस्ड दस्तावेज़ों को कैश करके इसे कम किया जा सकता है।

लागत‑ऑप्टिमाइज़ेशन रणनीतियाँ

रणनीतियह कैसे पैसे बचाता है
Batch Processingकई एनोटेशन एक्शन्स को एक ही API कॉल में संयोजित करें; प्रति‑पृष्ठ ओवरहेड कम होता है।
Document Cachingएनोटेटेड PDFs को CDN या ब्लॉब स्टोरेज में रखें; अपरिवर्तित फ़ाइलों के पुनः‑एनोटेशन से बचता है।
Usage Alertsजब दैनिक उपयोग एक थ्रेशोल्ड (जैसे 5 000 पृष्ठ) से अधिक हो जाए तो GroupDocs पोर्टल में ईमेल अलर्ट कॉन्फ़िगर करें।
Selective Feature EnablementAnnotationOptions के माध्यम से कम उपयोग किए जाने वाले एनोटेशन प्रकार (जैसे 3‑D स्टैम्प) को डिसेबल करें ताकि अनावश्यक प्रोसेसिंग कम हो।

मीटर बनाम पारंपरिक लाइसेंसिंग कब चुनें

जब आपका एनोटेशन वॉल्यूम बदलता हो या आप उपयोग‑आधारित बिलिंग पसंद करते हों तो मीटर लाइसेंसिंग चुनें, और लगातार उच्च, पूर्वानुमेय कार्यभार या इंटरनेट एक्सेस न होने वाले वातावरण के लिए स्थायी लाइसेंसिंग चुनें। सबसे लागत‑प्रभावी मॉडल चुनने के लिए मासिक पेज काउंट, बजट लचीलापन, और नेटवर्क प्रतिबंध जैसे कारकों का मूल्यांकन करें।

निष्कर्ष

GroupDocs.Annotation .NET के लिए set metered license सेट करना सरल है, लेकिन वास्तविक शक्ति इसकी लचीलापन और लागत पारदर्शिता में है। ऊपर दिए गए चरणों का पालन करके, कुंजियों को सुरक्षित करके, और प्रोडक्शन सर्वश्रेष्ठ प्रथाओं को लागू करके, आप स्केलेबल, पे‑एज़‑यू‑गो दस्तावेज़ एनोटेशन सक्षम करेंगे जो आपके व्यवसाय के साथ बढ़ता रहेगा।

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

अक्सर पूछे जाने वाले प्रश्न

Q: क्या मैं GroupDocs.Annotation for .NET को वाणिज्यिक प्रोजेक्ट्स में उपयोग कर सकता हूँ?
A: हाँ, लाइब्रेरी वैध मीटर या स्थायी लाइसेंस मिलने पर पूरी तरह वाणिज्यिक उपयोग के लिए लाइसेंस्ड है।

Q: मीटर लाइसेंस फ्लो का परीक्षण करने के लिए क्या ट्रायल संस्करण उपलब्ध है?
A: हाँ, आप website से फ्री ट्रायल प्राप्त कर सकते हैं।

Q: लाइसेंसिंग समस्याओं के लिए तकनीकी समर्थन कैसे प्राप्त करें?
A: प्रश्न पोस्ट करने या सपोर्ट टिकट खोलने के लिए GroupDocs फ़ोरम here पर जाएँ।

Q: क्या अल्पकालिक मूल्यांकन के लिए टेम्पररी लाइसेंस विकल्प है?
A: बिल्कुल—टेम्पररी लाइसेंस सीमित अवधि के लिए उपलब्ध हैं। विवरण के लिए this link देखें।

Q: मीटर लाइसेंस के साथ उपयोग ट्रैकिंग कितनी सटीक है?
A: ट्रैकिंग एक पेज एनोटेशन के भीतर सटीक है; रिपोर्ट आमतौर पर 24 घंटे के भीतर रिफ्रेश होती हैं।


अंतिम अपडेट: 2026-06-06
परीक्षण किया गया: GroupDocs.Annotation 23.12 for .NET
लेखक: GroupDocs

संबंधित ट्यूटोरियल