Barcode पीढ़ी

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() तरीके :

  1. देखते हैं द SymbologyDefinition रजिस्ट्री से
  2. कॉल करें InputParser.parse() आयात को मानकीकृत और सामान्य करने के लिए
  3. कॉल करें SymbologyEncoder.encode() एक बनाने के लिए EncodedSymbol
  4. लौटें A Barcode प्रतीक और प्रोफ़ाइल को संलग्न करें

SymbologyRegistry

SymbologyRegistry दुकानों SymbologyDefinition कैननिक नामों और एलियस के साथ कुंजी वाले वस्तुओं:

MethodDescription
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 एक सिम्बोलॉजी का समर्थन करने के लिए सभी घटकों को जोड़ें:

PropertyTypeDescription
namestrCanonical Symbolology के बारे में जानकारी
parserInputParserइनपुट डेटा की पुष्टि और मानकीकरण
encoderSymbologyEncoderडेटा को एक मॉड्यूल मैट्रिक्स में एन्क्रिप्ट करें
profileSymbologyProfileदोष, क्षमताओं और पाठ नीतियों
aliasestuple[str, ...]खोज के लिए वैकल्पिक नाम

EncodedSymbol

के लिए EncodedSymbol एक एन्कोडर द्वारा वापस भेजा गया है इसमें शामिल हैं:

  • matrix - A ModuleMatrix बार्क कोड के तर्क मॉड्यूल नेटवर्क के साथ
  • metadata - A SymbolMetadata सिम्बोलॉजी नाम, प्रदर्शित पाठ और कोडिंग विवरण के साथ
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 यह पैरिंग और कोडिंग के बीच मध्यम प्रतिनिधित्व है:

PropertyDescription
symbologyCanonical Symbolology नाम
dataप्रीमियम डेटा (str या bytes)
input_kindकैसे प्रवेश वर्गीकृत किया गया है
code128_encode_modeसंकल्प कोड 128 मोड (यदि लागू होता है)
code39_encode_modeकोड 39 मोड (यदि लागू होता है)
qr_error_correction_levelQR त्रुटि को ठीक किया गया (यदि लागू होता है)
qr_versionQR संस्करण (यदि लागू होता है)
qr_encoding_modeQR कोडिंग मोड (यदि लागू होता है)

OptionsResolver

OptionsResolver उपयोगकर्ता द्वारा प्रदान की जाने वाली रेंडर विकल्पों को सिम्बोलॉजी डिफ़ॉल्ट के साथ जोड़ता है:

MethodDescription
resolve(profile, options)उत्पादक A ResolvedRenderOptions उपयोगकर्ता विकल्पों को प्रोफ़ाइल डिफ़ॉल्ट के साथ जोड़कर
merge_options(earlier, later)दो में शामिल हों RenderOptions (अगले मूल्य से अधिक)
coerce_options(options)कच्चे विकल्पों को सामान्य करने के लिए RenderOptions

टिप्स और सर्वश्रेष्ठ अभ्यास

  • एलर्जी के लिए उपयोगकर्ताओं का उपयोग करें (code128(), qr(),(और) इसके बजाय generate() प्रकार सुरक्षा के लिए - वे सही विकल्प वर्ग का उपयोग करने की गारंटी देते हैं।.
  • के लिए Barcode.symbol संपत्ति के लिए सीधे पहुंच प्रदान करता है EncodedSymbol अनुकूलित रेंडर या विश्लेषण के लिए।.
  • BarcodeService यह राज्यहीन है - एक उदाहरण कई तारों के माध्यम से बारकोड उत्पन्न कर सकता है।.
  • Catch BarcodeError एक आधार वर्ग के रूप में, सभी बारकोड से संबंधित अपवादों को एक ब्लॉक में संभालना।.

सामान्य मुद्दे

IssueCauseफिक्स करें
SymbologyNotFoundErrorनाम नहीं रजिस्टर किया गया है SymbologyRegistryचेक स्पिलिंग; कानोिकल नामों का उपयोग करें
InvalidInputErrorडेटा सिम्बुलॉजी आवश्यकताओं का उल्लंघन करता हैचरित्र सेट और लंबाई आवश्यकताओं की जांच करें
खाली एसवीजी उत्पादनकोई कोड नहीं हैडेटा की जांच करना गैर-चाली और सिम्बोलॉजी के लिए वैध है

See Also

 हिन्दी