परिचय
हम जारी कर रहे हैं Aspose.BarCode FOSS Python के लिए, एक शुद्ध-Python लाइब्रेरी जो मानकों के अनुरूप 1D और 2D बारकोड उत्पन्न करती है। स्रोत उपलब्ध है GitHub as aspose-barcode-foss, MIT लाइसेंस है, और इसमें शून्य बाहरी निर्भरताएँ हैं।
यह लाइब्रेरी सात सिम्बोलॉजीज़ का समर्थन करती है: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A, और UPC-E. प्रत्येक बारकोड सीधे SVG या PNG में रेंडर होता है। इसमें कोई नेटीव एक्सटेंशन नहीं है, स्थापित करने के लिए कोई सिस्टम पैकेज नहीं है, और कोई ग्राफिक्स ड्राइवर आवश्यक नहीं है — Windows, Linux, और macOS पर स्रोत से बनाएं।
मुख्य विशेषताएँ
उच्च-स्तरीय जेनरेशन API
शीर्ष-स्तर का generate() फ़ंक्शन एक सिम्बोलॉजी नाम और डेटा स्ट्रिंग स्वीकार करता है, और एक Barcode ऑब्जेक्ट लौटाता है। प्रत्येक सिम्बोलॉजी के लिए समर्पित हेल्पर — code128(), code39(), ean13(), ean8(), qr(), upca(), और upce() — प्रत्येक फॉर्मेट के लिए टाइप-सेफ़ एंट्री पॉइंट प्रदान करते हैं।
import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()
सिम्बोलॉजी-विशिष्ट एन्कोड विकल्प
प्रत्येक सिम्बोलॉजी एक विकल्प क्लास को स्वीकार करती है जो एन्कोडिंग व्यवहार को नियंत्रित करती है। Code128Options encode_mode प्रदान करता है (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC)। Code39Options BASE और FULL_ASCII मोड को सपोर्ट करता है। QrOptions error_correction_level (L, M, Q, H), version, mask, और encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI) को उपलब्ध कराता है।
import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
png_bytes = bc.to_png()
रेंडरिंग नियंत्रण
RenderOptions दृश्य आउटपुट को नियंत्रित करता है: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family, और font_size। दोनों to_svg() और to_png() वैकल्पिक RenderOptions पैरामीटर स्वीकार करते हैं।
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
scale=2.0,
foreground_color="#003366",
quiet_zone=10.0,
show_text=True,
))
स्वचालित जाँच अंक
EAN-13, EAN-8, UPC-A, और UPC-E डेटा स्ट्रिंग से स्वचालित रूप से चेक डिजिट्स की गणना करते हैं। आप केवल पेलोड अंकों को प्रदान करते हैं; लाइब्रेरी एन्कोडिंग के दौरान सही चेक डिजिट जोड़ देती है।
इनपुट सत्यापन
प्रत्येक सिम्बोलॉजी में एक समर्पित InputParser होता है जो एन्कोडिंग से पहले डेटा को सत्यापित करता है। अवैध अक्षर, गलत लंबाई, और फॉर्मेट उल्लंघन प्रारंभिक चरण में टाइप्ड एक्सेप्शन के साथ पकड़े जाते हैं: InvalidInputError, EncodingError, SymbologyNotFoundError, और UnsupportedCapabilityError — सभी BarcodeError से विरासत में लेते हैं।
त्वरित शुरुआत
git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .एक Code 128 बारकोड जनरेट करें और SVG को फ़ाइल में लिखें:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(show_text=True))
with open("barcode.svg", "w") as f:
f.write(svg)
एक QR code उत्पन्न करें और इसे PNG के रूप में सहेजें:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
with open("qr.png", "wb") as f:
f.write(bc.to_png())
लाइब्रेरी को Python 3.12 या बाद का संस्करण चाहिए।
समर्थित फ़ॉर्मेट्स
| Symbology | प्रकार | जाँच अंक | विकल्प क्लास |
|---|---|---|---|
| Code 128 | 1D | बिल्ट-इन | Code128Options |
| Code 39 | 1D | Optional | Code39Options |
| EAN-13 | 1D | Automatic | Ean13Options |
| EAN-8 | 1D | Automatic | Ean8Options |
| QR Code | 2D | Built-in | QrOptions |
| UPC-A | 1D | Automatic | UpcaOptions |
| UPC-E | 1D | Automatic | UpceOptions |
आउटपुट फ़ॉर्मेट्स:
| फ़ॉर्मेट | एक्सटेंशन | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
ओपन सोर्स और लाइसेंसिंग
यह लाइब्रेरी MIT लाइसेंस प्राप्त है। आप इसे व्यावसायिक अनुप्रयोगों में उपयोग कर सकते हैं, इसे संशोधित कर सकते हैं, और बिना किसी प्रतिबंध के पुनर्वितरित कर सकते हैं। स्रोत GitHub पर उपलब्ध है। कोई उपयोग स्तर नहीं है, कोई टोकन सीमा नहीं है, और कोई टेलीमेट्री नहीं है। सभी प्रसंस्करण स्थानीय रूप से होता है।