Hur du konfigurerar kodningsalternativ i Aspose.BarCode FOSS

Hur du konfigurerar kodningsalternativ i Aspose.BarCode FOSS

Problem

Varje streckkodssymbologi har sina egna kodningsregler — felkorrigeringsnivåer för QR Code, kodningslägen för Code 128, hantering av kontrollsiffra för EAN/UPC. Aspose.BarCode FOSS för Python tillhandahåller en dedikerad alternativklass per symbologi så att du kan styra dessa parametrar vid genereringstid.

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()

Förutsättningar

  • Python 3.12 eller senare
  • pip-pakethanterare
  • aspose-barcode-foss byggd från källkod

QR Code Alternativ

Klassen QrOptions styr QR Code-kodning. Ställ in error_correction_level till någon av QrErrorCorrectionLevel.L, M, Q eller H. Högre nivåer ökar redundansen på bekostnad av större symboler. Använd encoding_mode för att välja ett specifikt QR-datamod (QrEncodeMode.NUMERIC, ALPHANUMERIC, BYTE eller KANJI), eller lämna det som AUTO för automatisk val. Egendomen version (1–40) styr symbolstorlek, och mask (0–7) åsidosätter maskmönstret.

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 Alternativ

Klassen Code128Options exponerar encode_mode med värden från Code128EncodeMode: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC. I AUTO-läge väljer kodaren den kortaste representationen. Att begränsa till en specifik delmängd (t.ex. CODE_C för enbart numerisk data) kan minska symbolbredden.

from aspose_barcode_foss import Code128Options, Code128EncodeMode

options = Code128Options(encode_mode=Code128EncodeMode.CODE_C)
bc = barcode.code128("123456", encode=options)

Code 39 Alternativ

Klassen Code39Options har två viktiga egenskaper: full_ascii möjliggör Full ASCII-kodning (utökat teckensätt utöver versaler och siffror), och add_check_digit lägger till en modulo-43 kontrollsiffra till symbolen.

from aspose_barcode_foss import Code39Options

options = Code39Options(full_ascii=True, add_check_digit=True)
bc = barcode.code39("Hello", encode=options)

EAN- och UPC-kontrollsiffraalternativ

Ean13Options, Ean8Options, UpcaOptions och UpceOptions stödjer alla allow_check_digit_input. Som standard beräknar biblioteket kontrollsiffran automatiskt — ange bara nyttolastens siffror (12 för EAN-13, 7 för EAN-8, 11 för UPC-A). Ställ in allow_check_digit_input=True för att skicka en förberäknad kontrollsiffra som en del av inmatningen.

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 Nummereringssystem

UpceOptions lägger till en number_system egenskap. UPC-E streckkoder använder nummersystemet “0” eller “1”. Ställ in denna egenskap för att styra vilket nummersystemsprefix kodaren använder.

from aspose_barcode_foss import UpceOptions

options = UpceOptions(number_system="0", allow_check_digit_input=False)
bc = barcode.upce("012345", encode=options)

Sammanfattning av alternativ

SymbologyOptions-klassNyckelegenskaper
Code 128Code128Optionsencode_mode
Code 39Code39Optionsfull_ascii, add_check_digit
EAN-13Ean13Optionsallow_check_digit_input
EAN-8Ean8Optionsallow_check_digit_input
QR CodeQrOptionserror_correction_level, encoding_mode, version, mask
UPC-AUpcaOptionsallow_check_digit_input
UPC-EUpceOptionsnumber_system, allow_check_digit_input

Se även

 Svenska