परिचय
Aspose.BarCode FOSS for Python सात समर्थित बारकोड फ़ॉर्मैट्स में एन्कोडिंग व्यवहार को नियंत्रित करने वाले प्रत्येक सिम्बोलॉजी-विशिष्ट विकल्प वर्ग प्रदान करता है। प्रत्येक विकल्प वर्ग EncodeOptions से विरासत में प्राप्त करता है और अपनी सिम्बोलॉजी के लिए विशिष्ट गुण जोड़ता है — Code 128 एन्कोड मोड, Code 39 ASCII चयन, QR त्रुटि सुधार स्तर, और EAN/UPC चेक डिजिट हैंडलिंग।
यह पोस्ट प्रत्येक विकल्प वर्ग, उसकी गुणधर्म, और कार्यशील कोड उदाहरणों को कवर करती है। वर्ग शीर्ष-स्तर के aspose_barcode_foss पैकेज से उपलब्ध हैं।
मुख्य विशेषताएँ
Code 128 एन्कोड मोड
Code128Options नियंत्रित करता है कि एन्कोडर कौनसे Code 128 वर्ण सेट का उपयोग करता है। encode_mode गुण एक Code128EncodeMode enum मान स्वीकार करता है: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, या CODE_BC। AUTO स्वचालित रूप से सबसे कॉम्पैक्ट एन्कोडिंग चुनता है। CODE_C केवल अंकों वाले डेटा के लिए अनुकूलित है (अंकों के जोड़े को एकल कोड पॉइंट के रूप में एन्कोड किया जाता है)।
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = bc.to_svg()
Code 128 EncodeOptions से विरासत में प्राप्त gs1_enabled और eci_assignment_number गुणों को भी समर्थन देता है, जो GS1 और ECI मेटाडेटा के लिए हैं।
Code 39 एन्कोडिंग
Code39Options नियंत्रित करता है कि एन्कोडर बेस 43-अक्षर सेट का उपयोग करता है या फुल ASCII एक्सटेंशन। full_ascii=True सेट करें ताकि फुल ASCII मोड सक्षम हो, जो शिफ्ट पेयर्स का उपयोग करके पूरे 128-अक्षर ASCII रेंज को एन्कोड करता है। वैकल्पिक add_check_digit प्रॉपर्टी मॉड्यूलो-43 चेक डिजिट जोड़ती है।
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = bc.to_svg()
QR Code कॉन्फ़िगरेशन
QrOptions समर्थित सिम्बोलोजी में सबसे समृद्ध कॉन्फ़िगरेशन सेट प्रदान करता है:
error_correction_level:QrErrorCorrectionLevel.L(7%),.M(15%),.Q(25%),.H(30%)encoding_mode:QrEncodeMode.AUTO,.NUMERIC,.ALPHANUMERIC,.BYTE,.KANJIversion: QR संस्करण (1–40), जो प्रतीक आकार को नियंत्रित करता हैmask: मैन्युअल चयन के लिए मास्क पैटर्न (0–7)
import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
bc = barcode.qr(
"https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.Q,
encoding_mode=QrEncodeMode.BYTE,
),
)
png_bytes = bc.to_png()
EAN और UPC जाँच अंक
Ean13Options, Ean8Options, UpcaOptions और UpceOptions में प्रत्येक में एक allow_check_digit_input गुण होता है। डिफ़ॉल्ट रूप से, लाइब्रेरी डेटा से जाँच अंक को स्वचालित रूप से गणना करती है। यदि आपके डेटा में पहले से ही जाँच अंक शामिल है, तो allow_check_digit_input=True सेट करें।
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
svg = bc.to_svg()
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)
रेंडरिंग विकल्प
RenderOptions सभी सिम्बोलॉजी पर लागू होता है और दृश्य आउटपुट को नियंत्रित करता है। इसे to_svg() या to_png() को पास करें:
| गुण | प्रकार | विवरण |
|---|---|---|
scale | float | समान स्केल गुणक |
dpi | int | PNG आउटपुट के लिए रिज़ॉल्यूशन |
module_width | float | एक बारकोड मॉड्यूल की चौड़ाई |
module_height | float | एक बारकोड मॉड्यूल की ऊँचाई |
quiet_zone | float | बारकोड के आसपास व्हाइटस्पेस पैडिंग |
foreground_color | str | बारों के लिए हेक्स रंग (उदाहरण के लिए "#000000") |
background_color | str | पृष्ठभूमि के लिए हेक्स रंग |
transparent_background | bool | PNG के लिए पारदर्शी पृष्ठभूमि |
show_text | bool | बारकोड के नीचे मानव-पठनीय पाठ दिखाएँ |
font_family | str | मानव-पठनीय पाठ के लिए फ़ॉन्ट |
font_size | float | मानव-पठनीय पाठ के लिए फ़ॉन्ट आकार |
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
scale=3.0,
dpi=300,
foreground_color="#1a1a1a",
background_color="#ffffff",
show_text=True,
font_family="Courier New",
))
त्रुटि प्रबंधन
सभी एन्कोड विकल्प मान्यकरण पार्स समय पर होता है। यदि अमान्य डेटा या असंगत विकल्प प्रदान किए जाते हैं, तो लाइब्रेरी किसी भी एन्कोडिंग शुरू होने से पहले एक टाइप्ड अपवाद उठाती है:
InvalidInputError— डेटा में ऐसे वर्ण होते हैं जो सिम्बोलॉजी द्वारा समर्थित नहीं हैंEncodingError— एन्कोडिंग विफल हो जाता है (उदाहरण के लिए, डेटा क्षमता से अधिक है)SymbologyNotFoundError—generate()को पास किया गया अपरिचित सिम्बोलॉजी नाम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 .विभिन्न एन्कोड विकल्पों के साथ बारकोड उत्पन्न करें और उन्हें सहेजें:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import (
Code128Options, Code128EncodeMode,
QrOptions, QrErrorCorrectionLevel,
RenderOptions,
)
# Code 128 in CODE_C mode (compact digit encoding)
c128 = barcode.code128(
"9876543210",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
with open("code128.svg", "w") as f:
f.write(c128.to_svg())
# QR with high error correction
qr = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
with open("qr.png", "wb") as f:
f.write(qr.to_png(options=RenderOptions(scale=4.0)))
# EAN-13 with custom colors
ean = barcode.ean13("590123412345")
with open("ean13.svg", "w") as f:
f.write(ean.to_svg(options=RenderOptions(
foreground_color="#003366",
show_text=True,
)))
समर्थित प्रारूप
| Symbology | प्रकार | Options Class | मुख्य प्रॉपर्टीज़ |
|---|---|---|---|
| Code 128 | 1D | Code128Options | encode_mode |
| Code 39 | 1D | Code39Options | full_ascii, add_check_digit |
| EAN-13 | 1D | Ean13Options | allow_check_digit_input |
| EAN-8 | 1D | Ean8Options | allow_check_digit_input |
| QR Code | 2D | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | 1D | UpcaOptions | allow_check_digit_input |
| UPC-E | 1D | UpceOptions | allow_check_digit_input |
आउटपुट प्रारूप:
| फ़ॉर्मेट | एक्सटेंशन | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
ओपन सोर्स & लाइसेंसिंग
Aspose.BarCode Python के लिए FOSS MIT लाइसेंस के तहत है। स्रोत GitHub पर उपलब्ध है; स्रोत से बनाएं। कोई मूल निर्भरताएँ नहीं, कोई टेलीमेट्री नहीं, कोई उपयोग सीमा नहीं।