Úvod
Aspose.BarCode FOSS pro Python poskytuje třídy možností podle symbologie, které řídí chování kódování ve všech sedmi podporovaných formátech čárových kódů. Každá třída možností dědí z EncodeOptions a přidává vlastnosti specifické pro její symbologii — režimy kódování Code 128, výběr ASCII Code 39, úrovně opravy chyb QR a zpracování kontrolní číslice EAN/UPC.
Tento příspěvek popisuje každou třídu možností, její vlastnosti a funkční ukázky kódu. Třídy jsou k dispozici v balíčku aspose_barcode_foss na nejvyšší úrovni.
Klíčové vlastnosti
Režimy kódování Code 128
Code128Options řídí, které znakové sady Code 128 enkodér používá. Vlastnost encode_mode přijímá hodnotu výčtu Code128EncodeMode: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC nebo CODE_BC. AUTO automaticky vybere nejkompaktnější kódování. CODE_C je optimalizováno pro data obsahující pouze číslice (páry číslic kódované jako jediné kódové body).
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()
Code 128 také podporuje vlastnosti gs1_enabled a eci_assignment_number zděděné z EncodeOptions pro GS1 a metadata ECI.
Code 39 kódování
Code39Options určuje, zda kodér používá základní 43-znakovou sadu nebo rozšíření Full ASCII. Nastavte full_ascii=True pro povolení režimu Full ASCII, který kóduje celý 128-znakový rozsah ASCII pomocí posunovacích párů. Volitelná vlastnost add_check_digit přidává kontrolní číslici modulo-43.
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 konfigurace
QrOptions nabízí nejbohatší sadu konfigurací mezi podporovanými symbologiemi:
error_correction_level:QrErrorCorrectionLevel.L(7%),.M(15%),.Q(25%),.H(30%)encoding_mode:QrEncodeMode.AUTO,.NUMERIC,.ALPHANUMERIC,.BYTE,.KANJIversion: verze QR (1–40), řídící velikost symbolumask: maskovací vzor (0–7) pro ruční výběr
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()
Kontrolní číslice EAN a UPC
Ean13Options, Ean8Options, UpcaOptions a UpceOptions mají každý vlastnost allow_check_digit_input. Ve výchozím nastavení knihovna vypočítá kontrolní číslici automaticky z dat. Nastavte allow_check_digit_input=True, pokud vaše data již obsahují kontrolní číslici.
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),
)
Možnosti vykreslování
RenderOptions se vztahuje na všechny symboliky a řídí vizuální výstup. Předávejte ji do to_svg() nebo to_png():
| Vlastnost | Typ: | Popis: |
|---|---|---|
scale | float | Jednotný násobek měřítka |
dpi | int | Rozlišení pro výstup PNG |
module_width | float | Šířka jednoho modulu čárového kódu |
module_height | float | Výška jednoho modulu čárového kódu |
quiet_zone | float | Odsazení kolem čárového kódu |
foreground_color | str | Hexadecimální barva pro pruhy (např. "#000000") |
background_color | str | Hexadecimální barva pozadí |
transparent_background | bool | Průhledné pozadí pro PNG |
show_text | bool | Zobrazit čitelný text pod čárovým kódem |
font_family | str | Písmo pro čitelný text |
font_size | float | Velikost písma pro čitelný text |
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",
))
Zpracování chyb
Veškerá validace možností kódování probíhá při parsování. Pokud jsou poskytnuta neplatná data nebo nekompatibilní možnosti, knihovna vyvolá typovanou výjimku před zahájením jakéhokoli kódování:
InvalidInputError— data obsahují znaky, které symbolika nepodporujeEncodingError— kódování selže (např. data překračují kapacitu)SymbologyNotFoundError— neznámý název symbologie předaný dogenerate()UnsupportedCapabilityError— požadovaná funkce není pro tuto symbologii k dispozici
Všechny třídy výjimek dědí z BarcodeError.
Rychlý start
git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .Vygenerujte čárové kódy s různými možnostmi kódování a uložte je:
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,
)))
Podporované formáty
| Symbology | Typ: | Třída Options | Klíčové vlastnosti |
|---|---|---|---|
| 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 |
Výstupní formáty:
| Formát | Přípona | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
Open Source a licencování
Aspose.BarCode FOSS pro Python je licencováno pod MIT. Zdrojový kód je dostupný na GitHub; sestavte ze zdroje. Žádné nativní závislosti, žádná telemetrie, žádná omezení používání.