Bevezetés
Aspose.BarCode FOSS a Python számára per-szimbológia opcióosztályokat biztosít, amelyek szabályozzák a kódolás viselkedését a hét támogatott vonalkódformátumon keresztül. Minden opcióosztály a EncodeOptions osztályból örököl, és szimbológiájára specifikus tulajdonságokat ad hozzá — Code 128 kódolási módok, Code 39 ASCII kiválasztás, QR hibajavítási szintek, valamint EAN/UPC ellenőrző szám kezelése.
Ez a bejegyzés minden opcióosztályt, azok tulajdonságait és működő kódpéldákat tárgyal. Az osztályok a felső szintű aspose_barcode_foss csomagból érhetők el.
Főbb jellemzők
Code 128 kódolási módok
Code128Options szabályozza, hogy a kódoló mely Code 128 karakterkészleteket használja. A encode_mode tulajdonság egy Code128EncodeMode enum értéket fogad el: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC vagy CODE_BC. Az AUTO automatikusan a legkisebb helyet foglaló kódolást választja. A CODE_C csak számjegyekből álló adatokra van optimalizálva (a számjegypárok egyetlen kódpontként vannak kódolva).
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = bc.to_svg()
A Code 128 támogatja továbbá a gs1_enabled és eci_assignment_number tulajdonságokat, amelyeket a EncodeOptions örököl, a GS1 és az ECI metaadatok számára.
Code 39 Kódolás
Code39Options szabályozza, hogy a kódoló a 43 karakteres alaphalmazt vagy a Full ASCII kiterjesztést használja-e. Állítsa be a full_ascii=True értéket a Full ASCII mód engedélyezéséhez, amely a teljes 128 karakteres ASCII tartományt shift párok segítségével kódolja. Az opcionális add_check_digit tulajdonság modulo-43 ellenőrző számot fűz hozzá.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = bc.to_svg()
QR Code Konfiguráció
QrOptions a támogatott szimbólumkészletek közül a leggazdagabb konfigurációs készletet kínálja:
error_correction_level:QrErrorCorrectionLevel.L(7%),.M(15%),.Q(25%),.H(30%)encoding_mode:QrEncodeMode.AUTO,.NUMERIC,.ALPHANUMERIC,.BYTE,.KANJIversion: QR verzió (1–40), amely a szimbólum méretét szabályozzamask: maszk minta (0–7) manuális kiválasztáshoz
import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
bc = barcode.qr(
"https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.Q,
encoding_mode=QrEncodeMode.BYTE,
),
)
png_bytes = bc.to_png()
EAN és UPC ellenőrző számjegyek
Ean13Options, Ean8Options, UpcaOptions és UpceOptions mindegyiknek van egy allow_check_digit_input tulajdonsága. Alapértelmezés szerint a könyvtár automatikusan kiszámítja az ellenőrző számjegyet az adatokból. Állítsa be a allow_check_digit_input=True értéket, ha az adatai már tartalmazzák az ellenőrző számjegyet.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
svg = bc.to_svg()
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)
Megjelenítési beállítások
RenderOptions minden szimbólumra vonatkozik, és szabályozza a vizuális kimenetet. Adja át a to_svg() vagy a to_png() számára:
| Tulajdonság | Típus | Leírás |
|---|---|---|
scale | float | Egységes méretezési szorzó |
dpi | int | Felbontás a PNG kimenethez |
module_width | float | Egy vonalkód-modul szélessége |
module_height | float | Egy vonalkód-modul magassága |
quiet_zone | float | Fehér tér kitöltése a vonalkód körül |
foreground_color | str | Hex szín a sávokhoz (pl. "#000000") |
background_color | str | Hex szín a háttérhez |
transparent_background | bool | Átlátszó háttér PNG-hez |
show_text | bool | Mutassa az ember által olvasható szöveget a vonalkód alatt |
font_family | str | Betűtípus az ember által olvasható szöveghez |
font_size | float | Betűméret az ember által olvasható szöveghez |
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
scale=3.0,
dpi=300,
foreground_color="#1a1a1a",
background_color="#ffffff",
show_text=True,
font_family="Courier New",
))
Hibakezelés
Minden kódolási opció ellenőrzése a feldolgozás (parse) időpontjában történik. Ha érvénytelen adat vagy inkompatibilis opciók kerülnek megadásra, a könyvtár típusos kivételt dob, mielőtt a kódolás elkezdődne:
InvalidInputError— az adat olyan karaktereket tartalmaz, amelyeket a szimbólum nem támogatEncodingError— a kódolás sikertelen (például az adat meghaladja a kapacitást)SymbologyNotFoundError— ismeretlen szimbólumnév lett átadva a(z)generate()UnsupportedCapabilityError— a kért funkció nem érhető el ehhez a szimbólumhoz
Minden kivételosztály a(z) BarcodeError osztályból örököl.
Gyors kezdés
git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .Generáljon vonalkódokat különböző kódolási beállításokkal, és mentse el őket:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import (
Code128Options, Code128EncodeMode,
QrOptions, QrErrorCorrectionLevel,
RenderOptions,
)
# Code 128 in CODE_C mode (compact digit encoding)
c128 = barcode.code128(
"9876543210",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
with open("code128.svg", "w") as f:
f.write(c128.to_svg())
# QR with high error correction
qr = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
with open("qr.png", "wb") as f:
f.write(qr.to_png(options=RenderOptions(scale=4.0)))
# EAN-13 with custom colors
ean = barcode.ean13("590123412345")
with open("ean13.svg", "w") as f:
f.write(ean.to_svg(options=RenderOptions(
foreground_color="#003366",
show_text=True,
)))
Támogatott formátumok
| Symbology | Típus | Opciók osztálya | Kulcsfontosságú tulajdonságok |
|---|---|---|---|
| Code 128 | 1D | Code128Options | encode_mode |
| Code 39 | 1D | Code39Options | full_ascii, add_check_digit |
| EAN-13 | 1D | Ean13Options | allow_check_digit_input |
| EAN-8 | 1D | Ean8Options | allow_check_digit_input |
| QR Code | 2D | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | 1D | UpcaOptions | allow_check_digit_input |
| UPC-E | 1D | UpceOptions | allow_check_digit_input |
Kimeneti formátumok:
| Formátum | Kiterjesztés | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
Nyílt forráskód & Licencelés
Aspose.BarCode FOSS for Python MIT licenc alatt áll. A forrás elérhető a GitHub címen; építsd fel a forrásból. Nincsenek natív függőségek, nincs telemetria, nincs használati korlát.