कैसे काम करें .NET में JavaScript एक्सटेंशन के साथ

कैसे काम करें .NET में JavaScript एक्सटेंशन के साथ

Aspose.PDF FOSS for .NET में PDF JavaScript AF_Date_Format, AF_Number_Format, और AF_Percent_Format फ़ंक्शनों के सर्वर-साइड कार्यान्वयन FieldDateTimeFormatter, FieldNumberCurrencyFormatter, और FieldNumberPercentFormatter क्लासों के माध्यम से शामिल हैं।

dotnet add package Aspose.PDF.FOSS

इन क्लासों का उपयोग करके सर्वर पर AcroForm फ़ील्ड मानों को फ़ॉर्मेट करें, बिना JavaScript इंजन की आवश्यकता के।

स्टेप-बाय-स्टेप गाइड

चरण 1: पैकेज स्थापित करें

अपने प्रोजेक्ट में Aspose.PDF FOSS जोड़ें:

dotnet add package Aspose.PDF.FOSS

चरण 2: आवश्यक क्लासेस आयात करें

using Aspose.Pdf.Annotations.JavascriptExtensions;

चरण 3: तिथि/समय फ़ील्ड मान को स्वरूपित करें

FieldDateTimeFormatter.Format(dateFormat, dateValue) एक कच्ची तिथि स्ट्रिंग को Acrobat-शैली के तिथि स्वरूप पैटर्न के अनुसार परिवर्तित करता है। यह PDF JavaScript AF_Date_Format फ़ंक्शन के समकक्ष है।

string formatted = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");

dateFormat पैरामीटर Acrobat तिथि स्वरूप टोकन (जैसे, mm, dd, yyyy, HH, MM) का उपयोग करता है। जब इनपुट dateValue को पार्स नहीं किया जा सकता, तो यह मेथड खाली स्ट्रिंग लौटाता है।


चरण 4: संख्यात्मक फ़ील्ड को मुद्रा रूप में स्वरूपित करें

FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) संख्यात्मक स्ट्रिंग को मुद्रा मान के रूप में स्वरूपित करता है। यह PDF JavaScript AF_Number_Format फ़ंक्शन के समकक्ष है।

var currencyFormatter = new FieldNumberCurrencyFormatter();
string formatted = currencyFormatter.Format(
    precision: 2,
    sepStyle: 0,
    negStyle: 0,
    currencySymbol: "$",
    isPrependCurrency: true,
    fieldValue: "1234.5");

पैरामीटर:

  • precision - दशमलव स्थानों की संख्या
  • sepStyle - हजारों विभाजक शैली (0 = कॉमा, 1 = बिंदु, 2 = कोई नहीं)
  • negStyle - नकारात्मक संख्या शैली (0 = कोष्ठक, 1 = माइनस उपसर्ग)
  • currencySymbol - मुद्रा प्रतीक स्ट्रिंग
  • isPrependCurrency - सत्य यदि प्रतीक को संख्या से पहले रखा जाए
  • fieldValue - स्वरूपित करने के लिए कच्चा संख्यात्मक स्ट्रिंग

चरण 5: संख्यात्मक फ़ील्ड को प्रतिशत के रूप में स्वरूपित करें

FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) संख्यात्मक स्ट्रिंग को प्रतिशत के रूप में स्वरूपित करता है, पहले कच्चे मान को 100 से गुणा करता है। यह PDF JavaScript AF_Percent_Format फ़ंक्शन के अनुरूप है।

var percentFormatter = new FieldNumberPercentFormatter();
string formatted = percentFormatter.Format(
    precision: 1,
    sepStyle: 0,
    isPrependPercent: false,
    fieldValue: "0.875");

पैरामीटर:

  • precision - दशमलव बिंदु के बाद दशमलव स्थानों की संख्या
  • sepStyle - हजारों विभाजक शैली (0 = कॉमा, 1 = बिंदु, 2 = कोई नहीं)
  • isPrependPercent - % प्रतीक को पहले लगाने के लिए true, अंत में लगाने के लिए false
  • fieldValue - कच्चा संख्यात्मक स्ट्रिंग (फ़ॉर्मेटर इसे 100 से गुणा करता है)

सामान्य समस्याएँ और समाधान

FieldDateTimeFormatter खाली स्ट्रिंग लौटाता है यह तब होता है जब dateValue आर्ग्युमेंट को तिथि पैटर्न द्वारा पार्स नहीं किया जा सकता है dateFormat. Acrobat तिथि टोकन .NET DateTime फ़ॉर्मेट स्ट्रिंग्स से अलग होते हैं।

FieldNumberCurrencyFormatter गलत दशमलव विभाजक उत्पन्न करता है यह sepStyle पैरामीटर हज़ार विभाजक को नियंत्रित करता है। हज़ार विभाजक के रूप में बिंदु का उपयोग करने के लिए, पास करें sepStyle: 1.

FieldNumberPercentFormatter आउटपुट 100 गुना अधिक बड़ा है फ़ॉर्मेटर इनपुट मान को 100 से गुणा करता है। यदि आपका fieldValue पहले से ही प्रतिशत दर्शाता है (उदाहरण के लिए, “87.5” बजाय “0.875”), Format को कॉल करने से पहले 100 से विभाजित करें।

पैकेज इंस्टॉल करने के बाद नेमस्पेस नहीं मिला सुनिश्चित करें कि आप net8.0 या उसके बाद के संस्करण को टारगेट कर रहे हैं। JavascriptExtensions नेमस्पेस केवल Aspose.Pdf.Foss पैकेज में उपलब्ध है।

NullReferenceException खाली fieldValue पर null या खाली स्ट्रिंग को पास करना fieldValue एक पार्स अपवाद उत्पन्न करेगा। फ़ॉर्मेट को कॉल करने से पहले इनपुट को वैध करें।

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

“corresponds to AF_Date_Format” का क्या अर्थ है?

PDF AcroForm JavaScript तिथि फ़ील्ड्स के लिए अंतर्निहित फ़ॉर्मेटिंग फ़ंक्शन के रूप में AF_Date_Format का उपयोग करता है। FieldDateTimeFormatter वही फ़ॉर्मेटिंग लॉजिक .NET प्रबंधित कोड में दोहराता है ताकि आप JavaScript को चलाए बिना समान फ़ील्ड फ़ॉर्मेट स्ट्रिंग्स लागू कर सकें।

क्या मैं इन फ़ॉर्मेटरों को PDF दस्तावेज़ संदर्भ के बाहर उपयोग कर सकता हूँ?

हाँ। FieldDateTimeFormatter, FieldNumberCurrencyFormatter, और FieldNumberPercentFormatter साधारण क्लासेज़ हैं जिनकी Document इंस्टेंस पर कोई निर्भरता नहीं है। आप इन्हें किसी भी .NET 8+ संदर्भ में यूटिलिटी फ़ॉर्मैटर के रूप में उपयोग कर सकते हैं।

FieldNumberCurrencyFormatter और FieldNumberPercentFormatter में क्या अंतर है?

FieldNumberCurrencyFormatter संख्या को बिना गुणा किए मुद्रा राशि के रूप में फ़ॉर्मैट करता है। FieldNumberPercentFormatter इनपुट को 100 से गुणा करता है और प्रतिशत चिह्न को जोड़ता या पहले रखता है।

क्या कई फ़ॉर्मैटर को चेन करने का कोई तरीका है?

कोई बिल्ट-इन चेनिंग प्रदान नहीं की गई है। कोड में फ़ॉर्मैटर को क्रमिक रूप से लागू करें।

क्या इन क्लासेज़ को उपयोग करने के लिए मुझे पूरा PDF दस्तावेज़ चाहिए?

नहीं। फ़ॉर्मैटर साधारण स्ट्रिंग्स पर काम करते हैं और फ़ॉर्मैटेड स्ट्रिंग्स लौटाते हैं। उन्हें खुले Document इंस्टेंस की आवश्यकता नहीं होती।

यह भी देखें

 हिन्दी