परिचय

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, .KANJI
  • version: 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() को पास करें:

गुणप्रकारविवरण
scalefloatसमान स्केल गुणक
dpiintPNG आउटपुट के लिए रिज़ॉल्यूशन
module_widthfloatएक बारकोड मॉड्यूल की चौड़ाई
module_heightfloatएक बारकोड मॉड्यूल की ऊँचाई
quiet_zonefloatबारकोड के आसपास व्हाइटस्पेस पैडिंग
foreground_colorstrबारों के लिए हेक्स रंग (उदाहरण के लिए "#000000")
background_colorstrपृष्ठभूमि के लिए हेक्स रंग
transparent_backgroundboolPNG के लिए पारदर्शी पृष्ठभूमि
show_textboolबारकोड के नीचे मानव-पठनीय पाठ दिखाएँ
font_familystrमानव-पठनीय पाठ के लिए फ़ॉन्ट
font_sizefloatमानव-पठनीय पाठ के लिए फ़ॉन्ट आकार
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 — एन्कोडिंग विफल हो जाता है (उदाहरण के लिए, डेटा क्षमता से अधिक है)
  • SymbologyNotFoundErrorgenerate() को पास किया गया अपरिचित सिम्बोलॉजी नाम
  • 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 1281DCode128Optionsencode_mode
Code 391DCode39Optionsfull_ascii, add_check_digit
EAN-131DEan13Optionsallow_check_digit_input
EAN-81DEan8Optionsallow_check_digit_input
QR Code2DQrOptionserror_correction_level, encoding_mode, version, mask
UPC-A1DUpcaOptionsallow_check_digit_input
UPC-E1DUpceOptionsallow_check_digit_input

आउटपुट प्रारूप:

फ़ॉर्मेटएक्सटेंशनExport
SVG.svg
PNG.png

ओपन सोर्स & लाइसेंसिंग

Aspose.BarCode Python के लिए FOSS MIT लाइसेंस के तहत है। स्रोत GitHub पर उपलब्ध है; स्रोत से बनाएं। कोई मूल निर्भरताएँ नहीं, कोई टेलीमेट्री नहीं, कोई उपयोग सीमा नहीं।


शुरू करना

संबंधित संसाधन