کار با گزینه های Encode
کار با گزینه های Encode
هر نماد کد نوار در Aspose.BarCode FOSS برای Python دارای یک کلاس گزینه اختصاص داده شده است که کنترل رفتار رمزگذاری می کند. EncodeOptions,که ارائه می دهد gs1_enabled و eci_assignment_number اموال مشترک در سراسر نمادها.
Code128Options
Code128Options کد 128 کاراکتر را انتخاب می کند. encode_mode املاک و مستغلات پذیرفته می شود A Code128EncodeMode ارزش آنام.
| Mode | Description |
|---|---|
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 استفاده می شود.
| Property | Type | Default | Description |
|---|---|---|---|
full_ascii | bool | None | امکان حالت ASCII کامل (از طریق موازنه های تغییر) (128-شخصیت) |
add_check_digit | bool | None | دانلود نرم افزار 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 دارای بیشترین سطح تنظیم در میان تمام نمادهای.
| Property | Type | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7 درصد), M ۱۵ درصد ), Q ۲۵ درصد،, H (۳۰ درصد ) |
encoding_mode | QrEncodeMode | AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
version | int | 1–40 (controls symbol dimensions) |
mask | int | 0–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 بارکد.
| Property | Type | Default | Description |
|---|---|---|---|
allow_check_digit_input | bool | None | 13 عدد ورودی با چک دیجیتال پیش کامپیوتر پذیرفته می شود |
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:
| Property | Type | Description |
|---|---|---|
gs1_enabled | `bool | None` |
eci_assignment_number | `int | None` |
راهنمایی ها و بهترین شیوه ها
- استفاده از
Code128EncodeMode.AUTOمگر اینکه دلیلی خاص برای محدود کردن مجموعه های کاراکتر داشته باشید، کوتاه ترین کد نوار را برای هر ورودی تولید می کند. - تنظیمات
QrErrorCorrectionLevel.Hبرای کدهای QR که بر روی سطوح آسیب پذیر چاپ می شوند. - اجازه دهید کتابخانه به صورت پیش فرض اعداد را چک کند – فقط تنظیم کنید
allow_check_digit_input=Trueدر هنگام دریافت اطلاعات پیش تأیید شده از یک سیستم دیگر. - استفاده از
QrEncodeMode.NUMERICبرای داده های QR فقط برای به حداقل رساندن اندازه نماد.
مسائل مشترک
| Issue | Cause | اصلاحی |
|---|---|---|
InvalidInputError در کد 39 | ورودی ها شامل حروف پایین تر می باشد. | تنظیمات full_ascii=True در Code39Options |
| کد QR بسیار بزرگ است. | نسخه تنظیم شده برای طول داده ها بسیار پایین است. | حذف صریح version یا افزایش آن را |
| بررسی اشتباه در EAN-13 | 13-digit input without allow_check_digit_input=True | 12 عدد (آموزش) را وارد کنید یا گزینه ای برای True |
SymbologyNotFoundError | نام نامی از نمادین در generate() | از یکی استفاده کنید: code128, code39, ean13, ean8, qr, upca, upce |