Làm việc với Encode Options

Làm việc với Encode Options

Làm việc với Encode Options

Mỗi biểu tượng mã thanh trong Aspose.BarCode FOSS cho Python có một lớp tùy chọn dành riêng kiểm soát hành vi mã hóa. EncodeOptions, mà cung cấp gs1_enabledeci_assignment_number Các tài sản được chia sẻ qua các biểu tượng.


Code128Options

Code128Options điều khiển mà mã 128 ký tự đặt mã chọn. encode_mode Tài sản chấp nhận A Code128EncodeMode giá trị enum.

ModeDescription
AUTOChọn mã hóa nhỏ gọn nhất tự động
CODE_ATỉnh, số và nhân vật kiểm soát
CODE_BUppercase, lowercase và số
CODE_CCặp số – tối ưu hóa cho dữ liệu chỉ số
CODE_ABChuyển đổi giữa mã A và mã B
CODE_ACChuyển đổi giữa mã A và mã C
CODE_BCChuyển đổi giữa mã B và mã 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 kiểm tra xem mã hóa có sử dụng bộ định dạng 43 nhân vật cơ bản hay phần mở rộng ASCII đầy đủ.

PropertyTypeDefaultDescription
full_asciiboolNoneTạo chế độ ASCII đầy đủ (128 tính năng thông qua cặp chuyển đổi)
add_check_digitboolNoneĐặt 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 có diện tích cấu hình nhiều nhất trong số tất cả các biểu tượng.

PropertyTypeValues
error_correction_levelQrErrorCorrectionLevelL (7%) trong số đó, M (Trung Quốc) 15 %, Q 25 % (tạm dịch:, H (30%) Số lượng
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 Kiểm soát kiểm tra xử lý số cho mã thanh EAN-13.

PropertyTypeDefaultDescription
allow_check_digit_inputboolNoneNhận nhập 13 chữ số với số kiểm toán trước
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 hoạt động tương tự như Ean13Options nhưng cho mã thanh EAN 8 chữ số. cung cấp 7 số tải (thiết kế thư viện tính số thứ 8) hoặc thiết lập allow_check_digit_input=True - 8 chữ số nhập khẩu.

from aspose_barcode_foss import Ean8Options

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

UpcaOptions và UpceOption

UpcaOptionsUpceOptions theo cùng một allow_check_digit_input Các mô hình như EAN tùy chọn. UpceOptions cũng có một number_system tài sản .

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 thuộc tính cơ bản

Tất cả các lớp tùy chọn di sản những tài sản này từ EncodeOptions:

PropertyTypeDescription
gs1_enabled`boolNone`
eci_assignment_number`intNone`

Mẹo và Thực hành Tốt nhất

  • Sử dụng Code128EncodeMode.AUTO trừ khi bạn có lý do cụ thể để hạn chế các tập hợp ký tự - nó tạo ra mã thanh ngắn nhất cho bất kỳ nhập.
  • Set Đặt QrErrorCorrectionLevel.H Đối với các mã QR sẽ được in trên bề mặt dễ bị hư hại.
  • Hãy để thư viện tính toán kiểm tra số theo mặc định — chỉ đặt allow_check_digit_input=True khi nhận được dữ liệu đã xác thực trước từ một hệ thống khác.
  • Sử dụng QrEncodeMode.NUMERIC Chỉ cần dùng dữ liệu QR để giảm thiểu kích thước biểu tượng.

Các vấn đề thường gặp

IssueCauseFix Đặt
InvalidInputError Mã 39Input chứa chữ cái dướiSet Đặt full_ascii=True trong Code39Options
Mã QR quá lớnPhiên bản đặt quá thấp cho chiều dài dữ liệuXóa rõ ràng version hoặc tăng lên
Chọn kỹ thuật số sai trên EAN-1313-digit input without allow_check_digit_input=TrueThay qua 12 chữ số (tự động) hoặc đặt tùy chọn để True
SymbologyNotFoundErrorTên biểu tượng sai lầm trong generate()Sử dụng một trong: code128, code39, ean13, ean8, qr, upca, upce

See Also

 Tiếng Việt