نحوه پیکربندی گزینههای رمزگذاری در Aspose.BarCode FOSS
Problem
هر نماد بارکد قوانین رمزگذاری خاص خود را دارد — سطوح تصحیح خطا برای QR Code، حالتهای رمزگذاری برای Code 128، مدیریت رقم بررسی برای EAN/UPC. Aspose.BarCode FOSS برای Python یک کلاس گزینههای اختصاصی برای هر نماد فراهم میکند تا بتوانید این پارامترها را در زمان تولید کنترل کنید.
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),
)
svg = bc.to_svg()پیشنیازها
- Python 3.12 یا بالاتر
- مدیر بسته pip
aspose-barcode-fossساخته شده از منبع
گزینههای QR Code
کلاس QrOptions رمزگذاری QR Code را کنترل میکند. error_correction_level را روی یکی از QrErrorCorrectionLevel.L، M، Q یا H تنظیم کنید. سطوح بالاتر، افزونگی را افزایش میدهند اما هزینه آن بزرگتر شدن نمادها است. از encoding_mode برای انتخاب یک حالت داده QR خاص (QrEncodeMode.NUMERIC، ALPHANUMERIC، BYTE یا KANJI) استفاده کنید، یا برای انتخاب خودکار، آن را به عنوان AUTO بگذارید. ویژگی version (۱–۴۰) اندازه نماد را کنترل میکند، و mask (۰–۷) الگوی ماسک را بازنویسی میکند.
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
options = QrOptions(
error_correction_level=QrErrorCorrectionLevel.H,
encoding_mode=QrEncodeMode.BYTE,
version=5,
)
bc = barcode.qr("DATA", encode=options)گزینههای Code 128
کلاس Code128Options ویژگی encode_mode را با مقادیر از Code128EncodeMode: AUTO، CODE_A، CODE_B، CODE_C، CODE_AB، CODE_AC، CODE_BC در دسترس قرار میدهد. در حالت AUTO، رمزگذار کوتاهترین نمایش را انتخاب میکند. محدود کردن به زیرمجموعه خاص (مثلاً CODE_C برای دادههای صرفاً عددی) میتواند عرض نماد را کاهش دهد.
from aspose_barcode_foss import Code128Options, Code128EncodeMode
options = Code128Options(encode_mode=Code128EncodeMode.CODE_C)
bc = barcode.code128("123456", encode=options)گزینههای Code 39
کلاس Code39Options دو ویژگی کلیدی دارد: full_ascii رمزگذاری کامل ASCII را فعال میکند (مجموعه کاراکتری گسترش یافته فراتر از حروف بزرگ و ارقام)، و add_check_digit یک رقم چک modulo-43 به نماد اضافه میکند.
from aspose_barcode_foss import Code39Options
options = Code39Options(full_ascii=True, add_check_digit=True)
bc = barcode.code39("Hello", encode=options)گزینههای رقم چک EAN و UPC
Ean13Options، Ean8Options، UpcaOptions و UpceOptions همگی از allow_check_digit_input پشتیبانی میکنند. به طور پیشفرض، کتابخانه رقم چک را به صورت خودکار محاسبه میکند — فقط ارقام بارگذاری را ارائه دهید (۱۲ برای EAN-13، ۷ برای EAN-8، ۱۱ برای UPC-A). برای ارسال یک رقم چک پیشمحاسبه شده به عنوان بخشی از ورودی، allow_check_digit_input=True را تنظیم کنید.
from aspose_barcode_foss import Ean13Options
# Auto-compute check digit (12 digits)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits)
bc = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)UPC-E سیستم عددی
UpceOptions یک ویژگی number_system اضافه میکند. بارکدهای UPC-E از سیستم عددی “0” یا “1” استفاده میکنند. این ویژگی را تنظیم کنید تا پیشوند سیستم عددی که رمزگذار استفاده میکند را کنترل کنید.
from aspose_barcode_foss import UpceOptions
options = UpceOptions(number_system="0", allow_check_digit_input=False)
bc = barcode.upce("012345", encode=options)خلاصه گزینهها
| Symbology | کلاس Options | ویژگیهای کلیدی |
|---|---|---|
| Code 128 | Code128Options | encode_mode |
| Code 39 | Code39Options | full_ascii, add_check_digit |
| EAN-13 | Ean13Options | allow_check_digit_input |
| EAN-8 | Ean8Options | allow_check_digit_input |
| QR Code | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | UpcaOptions | allow_check_digit_input |
| UPC-E | UpceOptions | number_system, allow_check_digit_input |