Funkce a vlastnosti
Funkce a vlastnosti
Aspose.BarCode FOSS pro Python poskytuje vysoce-úrovňový API pro generování sedmi symbologií čárových kódů s volbami kódování pro každou symbologii a ovládacími prvky vykreslování. Tato stránka je hlavní referencí pro všechny oblasti funkcí.
Podporované symbologie
Knihovna podporuje sedm symbologií prostřednictvím dedikovaných pomocných funkcí a obecného vstupního bodu generate():
| Symbology | Typ: | Helper | Třída Options |
|---|---|---|---|
| Code 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR Code | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |
import aspose_barcode_foss as barcode
# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
# Generic API
bc_gen = barcode.generate("ean13", "590123412345")Code 128 režimy kódování
Code128Options určuje, které znakové sady Code 128 enkodér používá. Vlastnost encode_mode přijímá hodnotu výčtu Code128EncodeMode:
AUTO— automaticky vybírá nejkompaktnější kódováníCODE_A,CODE_B,CODE_C— omezit na jedinou znakovou saduCODE_AB,CODE_AC,CODE_BC— umožnit přepínání mezi dvěma znakovámi sadami
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Code 39 kódování
Code39Options určuje, zda enkodér používá základní 43-znakovou sadu nebo rozšíření Full ASCII:
full_ascii— nastavit naTruepro kódování plného 128-znakového rozsahu ASCII pomocí posunových dvojicadd_check_digit— přidá kontrolní číslici modulo-43
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)QR Code konfigurace
QrOptions poskytuje nejvíce konfigurace ze všech symbolik:
| Vlastnost | Typ: | 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 (řídí velikost symbolu) |
mask | int | 0–7 (ruční výběr maskového vzoru) |
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,
),
)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. Nastavte allow_check_digit_input=True, pokud vaše data již obsahují tuto hodnotu.
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)Řízení vykreslování
RenderOptions se vztahuje na všechny symboliky a řídí vizuální výstup. Předávejte jej do to_svg() nebo to_png():
| Vlastnost | Typ: | Popis: |
|---|---|---|
scale | float | Jednotný násobitel 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 | Mezerné odsazení kolem čárového kódu |
foreground_color | str | Hexadecimální barva pro pruhy (např. "#000000") |
background_color | str | Hexadecimální barva pro 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 lidsky čitelný text |
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,
))Výstupní formáty
| Formát | Metoda | Návratový typ |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
Obě metody přijímají volitelný parametr RenderOptions.
Zpracování chyb
Veškerá validace možností kódování probíhá během parsování. Knihovna vyvolá typované výjimky ještě před zahájením kódování:
| Exception | Když je vyvoláno |
|---|---|
InvalidInputError | Data obsahují znaky, které nejsou podporovány symbolikou |
EncodingError | Kódování selže (např. data překračují kapacitu) |
SymbologyNotFoundError | Nerozpoznaný název symbologie předán generate() |
UnsupportedCapabilityError | Požadovaná funkce není pro tuto symbologii k dispozici |
Všechny třídy výjimek dědí od BarcodeError.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")Validace vstupu
Každá symbologie má dedikovaný InputParser, který ověřuje data před kódováním. Parser kontroluje znakovou sadu, délku a požadavky na formát specifické pro každou symbologii. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser a UpceInputParser jsou interně používány jejich příslušnými pomocnými funkcemi.
Objekt čárového kódu
Objekt Barcode vrácený všemi pomocnými funkcemi poskytuje:
to_svg(options)— vykreslit do řetězce SVGto_png(options)— vykreslit do bajtů PNGrender(renderer, options)— vykreslit pomocí konkrétní implementaceRenderersymbol—EncodedSymbolobsahující matici modulů a metadataprofile—SymbologyProfiles výchozími hodnotami a schopnostmi
API Reference Shrnutí
| Třída | Popis: |
|---|---|
Barcode | Veřejný objekt čárového kódu s to_svg() a to_png() |
Code128Options | Možnosti kódování pro Code 128 (encode_mode) |
Code39Options | Možnosti kódování pro Code 39 (full_ascii, add_check_digit) |
QrOptions | Možnosti kódování pro QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | Možnosti kódování pro EAN-13 (allow_check_digit_input) |
Ean8Options | Možnosti kódování pro EAN-8 (allow_check_digit_input) |
UpcaOptions | Možnosti kódování pro UPC-A (allow_check_digit_input) |
UpceOptions | Možnosti kódování pro UPC-E (allow_check_digit_input, number_system) |
RenderOptions | Ovládání vizuálního výstupu (měřítko, DPI, barvy, text) |
EncodeOptions | Základní typ pro možnosti kódování specifické pro symbologii |
BarcodeError | Základní výjimka pro knihovnu čárových kódů |