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():

SymbologyTyp:HelperTřída Options
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()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 sadu
  • CODE_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 na True pro kódování plného 128-znakového rozsahu ASCII pomocí posunových dvojic
  • add_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:

VlastnostTyp:Values
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (řídí velikost symbolu)
maskint0–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():

VlastnostTyp:Popis:
scalefloatJednotný násobitel měřítka
dpiintRozlišení pro výstup PNG
module_widthfloatŠířka jednoho modulu čárového kódu
module_heightfloatVýška jednoho modulu čárového kódu
quiet_zonefloatMezerné odsazení kolem čárového kódu
foreground_colorstrHexadecimální barva pro pruhy (např. "#000000")
background_colorstrHexadecimální barva pro pozadí
transparent_backgroundboolPrůhledné pozadí pro PNG
show_textboolZobrazit čitelný text pod čárovým kódem
font_familystrPísmo pro čitelný text
font_sizefloatVelikost 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átMetodaNávratový typ
SVGto_svg()str
PNGto_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í:

ExceptionKdyž je vyvoláno
InvalidInputErrorData obsahují znaky, které nejsou podporovány symbolikou
EncodingErrorKódování selže (např. data překračují kapacitu)
SymbologyNotFoundErrorNerozpoznaný název symbologie předán generate()
UnsupportedCapabilityErrorPož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 SVG
  • to_png(options) — vykreslit do bajtů PNG
  • render(renderer, options) — vykreslit pomocí konkrétní implementace Renderer
  • symbolEncodedSymbol obsahující matici modulů a metadata
  • profileSymbologyProfile s výchozími hodnotami a schopnostmi

API Reference Shrnutí

TřídaPopis:
BarcodeVeřejný objekt čárového kódu s to_svg() a to_png()
Code128OptionsMožnosti kódování pro Code 128 (encode_mode)
Code39OptionsMožnosti kódování pro Code 39 (full_ascii, add_check_digit)
QrOptionsMožnosti kódování pro QR Code (error_correction_level, encoding_mode, version, mask)
Ean13OptionsMožnosti kódování pro EAN-13 (allow_check_digit_input)
Ean8OptionsMožnosti kódování pro EAN-8 (allow_check_digit_input)
UpcaOptionsMožnosti kódování pro UPC-A (allow_check_digit_input)
UpceOptionsMožnosti kódování pro UPC-E (allow_check_digit_input, number_system)
RenderOptionsOvládání vizuálního výstupu (měřítko, DPI, barvy, text)
EncodeOptionsZákladní typ pro možnosti kódování specifické pro symbologii
BarcodeErrorZákladní výjimka pro knihovnu čárových kódů

Viz také:

 Čeština