Arbeta med Encode Options

Arbeta med Encode Options

Varje barkodsymbol i Aspose.BarCode FOSS för Python har en dedikerad option klass som styr kodning beteende. Alla optionsklasser ärvt från EncodeOptions,som ger, vilket ger gs1_enabled och eci_assignment_number och delar av symboler.


Code128Options

Code128Options kontroller som kod 128 tecken ställer kodaren väljer. encode_mode Fastigheten accepterar A Code128EncodeMode Enum värde .

ModeBeskrivning
AUTOVälj den mest kompakta kodningen automatiskt
CODE_AUppercase, siffror och kontroll tecken
CODE_BUppercase, lägrecase och siffror
CODE_CDigitala par – optimerade för numeriska data
CODE_ABSwitches mellan kod A och kod B
CODE_ACSwitches mellan kod A och kod C
CODE_BCSwitches mellan kod B och kod 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 Kontrollera om kodaren använder bas 43-figuren eller full ASCII förlängning.

PropertyTyp avDefaultBeskrivning
full_asciiboolNoneFull ASCII-läge (128-karaktärssteg via växelkurser)
add_check_digitboolNoneAnslut en modul-43 check digit
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 har den mest konfigurationsöverflödet bland alla symboler.

PropertyTyp avValues
error_correction_levelQrErrorCorrectionLevelL (7 % av dem), M 15 % av, Q 25 % av, H (30 %) av
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 Kontrollera digitala hanteringar för EAN-13-barkoder.

PropertyTyp avDefaultBeskrivning
allow_check_digit_inputboolNoneAcceptera 13-digit input med pre-computerad checkdikt
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 fungerar identiskt med Ean13Options men för 8-digit EAN-barkoder. Leverera 7 payload-dikt (biblioteket räknar den 8), eller ställa in allow_check_digit_input=True 8 digitala inmatningar.

from aspose_barcode_foss import Ean8Options

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

UpcaOptions och UpceOption

UpcaOptions och UpceOptions Följ samma allow_check_digit_input Modellen som EAN alternativ. UpceOptions har också en number_system och egendom.

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 Basägenheter

Alla alternativ klasser ärva dessa egenskaper från EncodeOptions:

PropertyTyp avBeskrivning
gs1_enabled`boolNone`
eci_assignment_number`intNone`

Tips och bästa praxis

  • Användning Code128EncodeMode.AUTO om du inte har en specifik anledning att begränsa teckensnitt - det producerar den kortaste rutan för någon inmatning.
  • Setade QrErrorCorrectionLevel.H för QR-koder som kommer att skrivas ut på ytor som är utsatta för skada.
  • Låt biblioteket datera att kontrollera siffrorna enligt standard - bara ställa in allow_check_digit_input=True när du får förvaliderade data från ett annat system.
  • Användning QrEncodeMode.NUMERIC för digitala bara QR-data för att minimera symbolstorleken.

Vanliga frågor

IssueCauseFixar
InvalidInputError i koden 39Input innehåller lägre bokstäverSetade full_ascii=True i Code39Options
QR-koder för storaVersion inställd för låg för data längdTa bort explicit version eller öka den
Felaktigt kontrollera siffran på EAN-1313-digit input without allow_check_digit_input=TruePassera 12 siffror (auto) eller ställ in alternativet för att True
SymbologyNotFoundErrorFörsvunnen symbolisk namn i generate()Använd en av: code128, code39, ean13, ean8, qr, upca, upce

Se även

 Svenska