کار با گزینه های Encode

کار با گزینه های Encode

کار با گزینه های Encode

هر نماد کد نوار در Aspose.BarCode FOSS برای Python دارای یک کلاس گزینه اختصاص داده شده است که کنترل رفتار رمزگذاری می کند. EncodeOptions,که ارائه می دهد gs1_enabled و eci_assignment_number اموال مشترک در سراسر نمادها.


Code128Options

Code128Options کد 128 کاراکتر را انتخاب می کند. encode_mode املاک و مستغلات پذیرفته می شود A Code128EncodeMode ارزش آنام.

ModeDescription
AUTOانتخاب نرم افزار کوچک ترین کد خودکار
CODE_Aبالا، اعداد و کنترل کاراکترها
CODE_Bبالا، پایین و دیجیتال ها
CODE_Cزوج های دیجیتال – بهینه سازی داده های عددی فقط
CODE_ABتغییر بین کد A و کد B
CODE_ACتغییر بین کد A و کد C
CODE_BCتغییر بین کد B و کد C
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode

# AUTO mode — library picks the most compact encoding
bc_auto = barcode.code128("ABC123", encode=Code128Options(encode_mode=Code128EncodeMode.AUTO))

# CODE_C mode — compact encoding for digit-only data
bc_c = barcode.code128("9876543210", encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C))

# CODE_B mode — full alphanumeric support
bc_b = barcode.code128("Hello World", encode=Code128Options(encode_mode=Code128EncodeMode.CODE_B))

Code39Options

Code39Options بررسی می کند که آیا کدگذاری از مجموعه پایه 43 یا افزونه کامل ASCII استفاده می شود.

PropertyTypeDefaultDescription
full_asciiboolNoneامکان حالت ASCII کامل (از طریق موازنه های تغییر) (128-شخصیت)
add_check_digitboolNoneدانلود نرم افزار Modulo-43 Check Digital
from aspose_barcode_foss import Code39Options

# Base mode — uppercase letters, digits, and a few special characters
bc_base = barcode.code39("CODE 39")

# Full ASCII mode — encodes the full 128-character ASCII range
bc_full = barcode.code39(
    "Hello, World!",
    encode=Code39Options(full_ascii=True, add_check_digit=True),
)

QROptions

QrOptions دارای بیشترین سطح تنظیم در میان تمام نمادهای.

PropertyTypeValues
error_correction_levelQrErrorCorrectionLevelL (7 درصد), M ۱۵ درصد ), Q ۲۵ درصد،, H (۳۰ درصد )
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (controls symbol dimensions)
maskint0–7 (manual mask pattern selection)
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode

# High error correction with byte encoding
bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(
        error_correction_level=QrErrorCorrectionLevel.H,
        encoding_mode=QrEncodeMode.BYTE,
    ),
)

# Numeric mode for digit-only data — most compact QR
bc_num = barcode.qr(
    "0123456789",
    encode=QrOptions(encoding_mode=QrEncodeMode.NUMERIC),
)

# Explicit version and mask
bc_v5 = barcode.qr(
    "TEST",
    encode=QrOptions(version=5, mask=3),
)

Ean13Options

Ean13Options کنترل کنترل برای EAN-13 بارکد.

PropertyTypeDefaultDescription
allow_check_digit_inputboolNone13 عدد ورودی با چک دیجیتال پیش کامپیوتر پذیرفته می شود
from aspose_barcode_foss import Ean13Options

# 12 digits — library computes the 13th check digit
bc = barcode.ean13("590123412345")

# 13 digits — library validates the provided check digit
bc2 = barcode.ean13(
    "5901234123457",
    encode=Ean13Options(allow_check_digit_input=True),
)

Ean8Options

Ean8Options کار به صورت یکسان با Ean13Options اما برای کد های نوار EAN 8 رقمی. 7 عدد بار (کتابخانه محاسبه هشتم) را ارائه دهید، یا تنظیم کنید allow_check_digit_input=True برای ورودی 8 دیجیتال.

from aspose_barcode_foss import Ean8Options

bc = barcode.ean8("1234567")
bc2 = barcode.ean8("12345670", encode=Ean8Options(allow_check_digit_input=True))

UpcaOptions و UpceOption

UpcaOptions و UpceOptions همان را دنبال کنید allow_check_digit_input گزینه های EAN را انتخاب کنید. UpceOptions همچنین دارای یک number_system املاک .

from aspose_barcode_foss import UpcaOptions, UpceOptions

# UPC-A: 11 digits, library adds check digit
bc_a = barcode.upca("01234567890")

# UPC-E with pre-computed check digit
bc_e = barcode.upce(
    "01234565",
    encode=UpceOptions(allow_check_digit_input=True),
)

ویژگی های پایه EncodeOptions

همه این ویژگی ها از یک نوع به ارث می رسند. EncodeOptions:

PropertyTypeDescription
gs1_enabled`boolNone`
eci_assignment_number`intNone`

راهنمایی ها و بهترین شیوه ها

  • استفاده از Code128EncodeMode.AUTO مگر اینکه دلیلی خاص برای محدود کردن مجموعه های کاراکتر داشته باشید، کوتاه ترین کد نوار را برای هر ورودی تولید می کند.
  • تنظیمات QrErrorCorrectionLevel.H برای کدهای QR که بر روی سطوح آسیب پذیر چاپ می شوند.
  • اجازه دهید کتابخانه به صورت پیش فرض اعداد را چک کند – فقط تنظیم کنید allow_check_digit_input=True در هنگام دریافت اطلاعات پیش تأیید شده از یک سیستم دیگر.
  • استفاده از QrEncodeMode.NUMERIC برای داده های QR فقط برای به حداقل رساندن اندازه نماد.

مسائل مشترک

IssueCauseاصلاحی
InvalidInputError در کد 39ورودی ها شامل حروف پایین تر می باشد.تنظیمات full_ascii=True در Code39Options
کد QR بسیار بزرگ است.نسخه تنظیم شده برای طول داده ها بسیار پایین است.حذف صریح version یا افزایش آن را
بررسی اشتباه در EAN-1313-digit input without allow_check_digit_input=True12 عدد (آموزش) را وارد کنید یا گزینه ای برای True
SymbologyNotFoundErrorنام نامی از نمادین در generate()از یکی استفاده کنید: code128, code39, ean13, ean8, qr, upca, upce

See Also

 فارسی