Barcode पीढ़ी
Barcode पीढ़ी
Aspose.BarCode FOSS में बारकोड जनरेटिंग पाइपलाइन Python के लिए एक तीन-चरण वास्तुकला का पालन करता है: कोड को रेंडिंग.उच्च स्तर की एपीआई (generate() और per-symbology सहायक) इन चरणों के माध्यम से ऑर्केस्ट्राट करते हैं BarcodeService.
उच्च स्तर की पीढ़ी एपीआई
एक बार कोड बनाने का सबसे आसान तरीका per-symbology सहायक कार्यों के माध्यम से है:
import aspose_barcode_foss as barcode
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
bc_ean = barcode.ean13("590123412345")
bc_upca = barcode.upca("01234567890")हर सहायक एक को वापस लाता है। Barcode कॉल करें - Call to_svg() एसडीए के लिए या to_png() पीएचडी के लिए।.
जनरल के बारे में generate() फ़ंक्शन एक सिम्बोलॉजी नाम श्रृंखला स्वीकार करता है:
bc = barcode.generate("code128", "DATA")
svg = bc.to_svg()वैध सिम्बुल नाम: "code128", "code39", "ean13", "ean8", "qr", "upca", "upce".
BarcodeService
BarcodeService तीनों को संरेखित किया जाता है, एक को बनाए रखता है। SymbologyRegistry और एक OptionsResolver:
from aspose_barcode_foss import BarcodeService
# The default service is used by all helper functions
# You can create a custom service for testing or extension:
service = BarcodeService(registry=registry, options_resolver=resolver)
result = service.generate("code128", "DATA")के लिए generate() तरीके :
- देखते हैं द
SymbologyDefinitionरजिस्ट्री से - कॉल करें
InputParser.parse()आयात को मानकीकृत और सामान्य करने के लिए - कॉल करें
SymbologyEncoder.encode()एक बनाने के लिएEncodedSymbol - लौटें A
Barcodeप्रतीक और प्रोफ़ाइल को संलग्न करें
SymbologyRegistry
SymbologyRegistry दुकानों SymbologyDefinition कैननिक नामों और एलियस के साथ कुंजी वाले वस्तुओं:
| Method | Description |
|---|---|
get_definition(name) | एक पूर्ण सिम्बोलॉजी परिभाषा को पुनर्स्थापित करें |
get_parser(name) | प्राप्त करें InputParser एक सिम्बोलॉजी के लिए |
get_encoder(name) | प्राप्त करें SymbologyEncoder एक सिम्बोलॉजी के लिए |
get_profile(name) | प्राप्त करें SymbologyProfile डिफ़ॉल्ट के साथ |
get_text_policy(name) | प्राप्त करें TextLayoutPolicy पाठ रेंडर के लिए |
register(definition) | एक नया रजिस्टर करें SymbologyDefinition |
EncoderRegistry एक पीछे-पैर संगत एलायसिस है SymbologyRegistry.
SymbologyDefinition
A SymbologyDefinition एक सिम्बोलॉजी का समर्थन करने के लिए सभी घटकों को जोड़ें:
| Property | Type | Description |
|---|---|---|
name | str | Canonical Symbolology के बारे में जानकारी |
parser | InputParser | इनपुट डेटा की पुष्टि और मानकीकरण |
encoder | SymbologyEncoder | डेटा को एक मॉड्यूल मैट्रिक्स में एन्क्रिप्ट करें |
profile | SymbologyProfile | दोष, क्षमताओं और पाठ नीतियों |
aliases | tuple[str, ...] | खोज के लिए वैकल्पिक नाम |
EncodedSymbol
के लिए EncodedSymbol एक एन्कोडर द्वारा वापस भेजा गया है इसमें शामिल हैं:
matrix- AModuleMatrixबार्क कोड के तर्क मॉड्यूल नेटवर्क के साथmetadata- ASymbolMetadataसिम्बोलॉजी नाम, प्रदर्शित पाठ और कोडिंग विवरण के साथ
bc = barcode.code128("TEST")
symbol = bc.symbol
print(f"Matrix: {symbol.matrix.width}x{symbol.matrix.height}")
print(f"Display text: {symbol.metadata.display_text}")
print(f"Symbology: {symbol.metadata.symbology}")ModuleMatrix प्रदान करता है A get(x, y) एक विधि जो एक निश्चित स्थिति में मॉड्यूल मूल्य वापस करती है।.
NormalizedPayload
के लिए NormalizedPayload यह पैरिंग और कोडिंग के बीच मध्यम प्रतिनिधित्व है:
| Property | Description |
|---|---|
symbology | Canonical Symbolology नाम |
data | प्रीमियम डेटा (str या bytes) |
input_kind | कैसे प्रवेश वर्गीकृत किया गया है |
code128_encode_mode | संकल्प कोड 128 मोड (यदि लागू होता है) |
code39_encode_mode | कोड 39 मोड (यदि लागू होता है) |
qr_error_correction_level | QR त्रुटि को ठीक किया गया (यदि लागू होता है) |
qr_version | QR संस्करण (यदि लागू होता है) |
qr_encoding_mode | QR कोडिंग मोड (यदि लागू होता है) |
OptionsResolver
OptionsResolver उपयोगकर्ता द्वारा प्रदान की जाने वाली रेंडर विकल्पों को सिम्बोलॉजी डिफ़ॉल्ट के साथ जोड़ता है:
| Method | Description |
|---|---|
resolve(profile, options) | उत्पादक A ResolvedRenderOptions उपयोगकर्ता विकल्पों को प्रोफ़ाइल डिफ़ॉल्ट के साथ जोड़कर |
merge_options(earlier, later) | दो में शामिल हों RenderOptions (अगले मूल्य से अधिक) |
coerce_options(options) | कच्चे विकल्पों को सामान्य करने के लिए RenderOptions |
टिप्स और सर्वश्रेष्ठ अभ्यास
- एलर्जी के लिए उपयोगकर्ताओं का उपयोग करें (
code128(),qr(),(और) इसके बजायgenerate()प्रकार सुरक्षा के लिए - वे सही विकल्प वर्ग का उपयोग करने की गारंटी देते हैं।. - के लिए
Barcode.symbolसंपत्ति के लिए सीधे पहुंच प्रदान करता हैEncodedSymbolअनुकूलित रेंडर या विश्लेषण के लिए।. BarcodeServiceयह राज्यहीन है - एक उदाहरण कई तारों के माध्यम से बारकोड उत्पन्न कर सकता है।.- Catch
BarcodeErrorएक आधार वर्ग के रूप में, सभी बारकोड से संबंधित अपवादों को एक ब्लॉक में संभालना।.
सामान्य मुद्दे
| Issue | Cause | फिक्स करें |
|---|---|---|
SymbologyNotFoundError | नाम नहीं रजिस्टर किया गया है SymbologyRegistry | चेक स्पिलिंग; कानोिकल नामों का उपयोग करें |
InvalidInputError | डेटा सिम्बुलॉजी आवश्यकताओं का उल्लंघन करता है | चरित्र सेट और लंबाई आवश्यकताओं की जांच करें |
| खाली एसवीजी उत्पादन | कोई कोड नहीं है | डेटा की जांच करना गैर-चाली और सिम्बोलॉजी के लिए वैध है |