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 .
| Mode | Beskrivning |
|---|---|
AUTO | Välj den mest kompakta kodningen automatiskt |
CODE_A | Uppercase, siffror och kontroll tecken |
CODE_B | Uppercase, lägrecase och siffror |
CODE_C | Digitala par – optimerade för numeriska data |
CODE_AB | Switches mellan kod A och kod B |
CODE_AC | Switches mellan kod A och kod C |
CODE_BC | Switches 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.
| Property | Typ av | Default | Beskrivning |
|---|---|---|---|
full_ascii | bool | None | Full ASCII-läge (128-karaktärssteg via växelkurser) |
add_check_digit | bool | None | Anslut 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.
| Property | Typ av | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7 % av dem), M 15 % av, Q 25 % av, H (30 %) av |
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 Kontrollera digitala hanteringar för EAN-13-barkoder.
| Property | Typ av | Default | Beskrivning |
|---|---|---|---|
allow_check_digit_input | bool | None | Acceptera 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:
| Property | Typ av | Beskrivning |
|---|---|---|
gs1_enabled | `bool | None` |
eci_assignment_number | `int | None` |
Tips och bästa praxis
- Användning
Code128EncodeMode.AUTOom du inte har en specifik anledning att begränsa teckensnitt - det producerar den kortaste rutan för någon inmatning. - Setade
QrErrorCorrectionLevel.Hfö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=Truenär du får förvaliderade data från ett annat system. - Användning
QrEncodeMode.NUMERICför digitala bara QR-data för att minimera symbolstorleken.
Vanliga frågor
| Issue | Cause | Fixar |
|---|---|---|
InvalidInputError i koden 39 | Input innehåller lägre bokstäver | Setade full_ascii=True i Code39Options |
| QR-koder för stora | Version inställd för låg för data längd | Ta bort explicit version eller öka den |
| Felaktigt kontrollera siffran på EAN-13 | 13-digit input without allow_check_digit_input=True | Passera 12 siffror (auto) eller ställ in alternativet för att True |
SymbologyNotFoundError | Försvunnen symbolisk namn i generate() | Använd en av: code128, code39, ean13, ean8, qr, upca, upce |