A kódolási lehetőségekkel való munka
A kódolási lehetőségekkel való munka
Az Aspose.BarCode FOSS Python-ban minden egyes vonalkód jelképe egy dedikált opcióosztályt tartalmaz, amely a kódolási viselkedést irányítja. Minden opciós osztály örököl az alábbiakból: EncodeOptions, amely a következőket írja elő: gs1_enabled és a következők: eci_assignment_number A szimbólumok között megosztott tulajdonságok.
Code128Options
Code128Options A kódoló kijelöli, hogy melyik 128 karaktert állítja be. encode_mode Az ingatlan elfogadja a Code128EncodeMode enum érték.
| Mode | Description |
|---|---|
AUTO | Automatikusan kiválasztja a legkompaktabb kódolást. |
CODE_A | Nagybetű, számjegy és vezérlőjelző |
CODE_B | Nagybetű, kisbető és számjegyek |
CODE_C | Számjegy-párok optimalizált csak számszerű adatokhoz |
CODE_AB | A kódok közötti átváltás |
CODE_AC | A kódok közötti váltás |
CODE_BC | A B és C kódok közötti átváltás |
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 ellenőrzi, hogy a kódoló használja-e az alap 43 karakterkészletet vagy a Full ASCII kiterjesztést.
| Property | Type | Default | Description |
|---|---|---|---|
full_ascii | bool | None | Teljes ASCII mód (128 karaktertartomány váltási párok segítségével) aktiválása |
add_check_digit | bool | None | A modulo-43 ellenőrző számjegy hozzáadása. |
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),
)QrOpciók
QrOptions A legtöbb szimbólummal rendelkező felület.
| Property | Type | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7%), M (15%), Q (25%), H (30%) |
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 az EAN-13 vonalkódok ellenőrző számjegy kezelésének irányítása.
| Property | Type | Default | Description |
|---|---|---|---|
allow_check_digit_input | bool | None | Elfogadja a 13 számjegyű bevitel előzetes számítási ellenőrzési számegységgel |
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 azonos módon működik, mint a Ean13Options A rendszer nem tartalmaz 8 digitus EAN-s vonalkódot, hanem egy 8-as számjegyű EAD-t. 7 hasznos teherszámjegy (a könyvtár a 8. számításra kerül), vagy beállított allow_check_digit_input=True 8 számjegyű bevitelhez.
from aspose_barcode_foss import Ean8Options
bc = barcode.ean8("1234567")
bc2 = barcode.ean8("12345670", encode=Ean8Options(allow_check_digit_input=True))A felfelé és a feljebbinduló opciók
UpcaOptions és a következők: UpceOptions Ugyanazt kövesd. allow_check_digit_input mint az EAN-opciók. UpceOptions A number_system tulajdon.
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 alap tulajdonságai
Minden opciós osztály örökli ezeket a tulajdonságokat az alábbiakból: EncodeOptions:
| Property | Type | Description |
|---|---|---|
gs1_enabled | `bool | None` |
eci_assignment_number | `int | None` |
Tippek és legjobb gyakorlatok
- Használat
Code128EncodeMode.AUTOHacsak nincs konkrét okod a karakterkészletek korlátozására akkor minden bevitelnél a legrövidebb vonalkódot hozza létre. - Összeállítva
QrErrorCorrectionLevel.Ha károsodásra hajlamos felületeken nyomtatandó QR-kódok esetében. - A könyvtár számításai csak beállítva.
allow_check_digit_input=Trueegy másik rendszerből előzetesen érvényesített adatok átvételénél. - Használat
QrEncodeMode.NUMERICa szimbólum méretének minimalizálása érdekében csak számjegyű QR-adatok esetében.
Általános kérdések
| Issue | Cause | Megjavítani. |
|---|---|---|
InvalidInputError a 39-es kódról | A bevitelben kisebb betűk vannak. | Összeállítva full_ascii=True a következőkben: Code39Options |
| QR kód túl nagy | A változat túl alacsony az adathosszhoz | A kifejezett eltávolítása version vagy növelni. |
| Helytelen ellenőrzési számjegy az EAN-13-en. | 13-digit input without allow_check_digit_input=True | 12 számjegy (automatikus) vagy állítsa be a lehetőséget, hogy True |
SymbologyNotFoundError | A jelképes név betűje helytelenül szerepel a következőben: generate() | Használjon az alábbiak közül egyet: code128, code39, ean13, ean8, qr, upca, upce |