Funkcje i funkcjonalności

Funkcje i możliwości

Aspose.BarCode FOSS dla Python zapewnia wysokopoziomowy API do generowania siedmiu symbologii kodów kreskowych z opcjami kodowania dla każdej symbologii oraz kontrolami renderowania. Ta strona jest głównym odniesieniem dla wszystkich obszarów funkcji.


Obsługiwane symbologie

Biblioteka obsługuje siedem symbologii poprzez dedykowane funkcje pomocnicze oraz ogólny punkt wejścia generate():

SymbologyTypHelperKlasa Opcji
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 Tryby kodowania

Code128Options kontroluje, które zestawy znaków Code 128 używa enkoder. Właściwość encode_mode przyjmuje wartość wyliczeniową Code128EncodeMode:

  • AUTO — automatycznie wybiera najgęstsze kodowanie
  • CODE_A, CODE_B, CODE_C — ogranicz do jednego zestawu znaków
  • CODE_AB, CODE_AC, CODE_BC — zezwalaj na przełączanie między dwoma zestawami znaków
from aspose_barcode_foss import Code128Options, Code128EncodeMode

bc = barcode.code128(
    "1234567890",
    encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)

Code 39 Kodowanie

Code39Options kontroluje, czy enkoder używa podstawowego zestawu 43 znaków, czy rozszerzenia Full ASCII:

  • full_ascii — ustaw na True, aby zakodować pełny zakres 128 znaków ASCII przy użyciu par przesunięć
  • add_check_digit — dodaje cyfrę kontrolną modulo-43
from aspose_barcode_foss import Code39Options

bc = barcode.code39(
    "Hello",
    encode=Code39Options(full_ascii=True, add_check_digit=True),
)

QR Code Konfiguracja

QrOptions zapewnia najwięcej konfiguracji spośród wszystkich symboli:

WłaściwośćTypValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (kontroluje rozmiar symbolu)
maskint0–7 (ręczny wybór wzoru maski)
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,
    ),
)

Cyfry kontrolne EAN i UPC

Ean13Options, Ean8Options, UpcaOptions i UpceOptions mają własność allow_check_digit_input. Domyślnie biblioteka oblicza cyfrę kontrolną automatycznie. Ustaw allow_check_digit_input=True, jeśli twoje dane już ją zawierają.

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),
)

Kontrolki renderowania

RenderOptions ma zastosowanie do wszystkich symboli i kontroluje wyjście wizualne. Przekaż go do to_svg() lub to_png():

WłaściwośćTypOpis
scalefloatJednolity mnożnik skali
dpiintRozdzielczość wyjścia PNG
module_widthfloatSzerokość jednego modułu kodu kreskowego
module_heightfloatWysokość jednego modułu kodu kreskowego
quiet_zonefloatBiałe wypełnienie wokół kodu kreskowego
foreground_colorstrKolor szesnastkowy dla pasków (np., "#000000")
background_colorstrKolor szesnastkowy dla tła
transparent_backgroundboolPrzezroczyste tło dla PNG
show_textboolPokaż tekst czytelny dla człowieka pod kodem kreskowym
font_familystrCzcionka dla tekstu czytelnego dla człowieka
font_sizefloatRozmiar czcionki dla tekstu czytelnego dla człowieka
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,
))

Formaty wyjściowe

FormatMetodaTyp zwracany
SVGto_svg()str
PNGto_png()bytes

Obie metody akceptują opcjonalny parametr RenderOptions.


Obsługa błędów

Wszystkie walidacje opcji kodowania odbywają się w czasie parsowania. Biblioteka wyrzuca typowane wyjątki przed rozpoczęciem kodowania:

ExceptionKiedy podnoszony
InvalidInputErrorDane zawierają znaki nieobsługiwane przez symbologię
EncodingErrorKodowanie nie powiodło się (np. dane przekraczają pojemność)
SymbologyNotFoundErrorNie rozpoznano nazwy symbologii przekazanej do generate()
UnsupportedCapabilityErrorŻądana funkcja nie jest dostępna dla tej symbologii

Wszystkie klasy wyjątków dziedziczą po BarcodeError.

from aspose_barcode_foss import InvalidInputError

try:
    bc = barcode.ean13("ABC")
except InvalidInputError as e:
    print(f"Invalid input: {e}")

Walidacja danych wejściowych

Każda symbologia ma dedykowany InputParser, który weryfikuje dane przed kodowaniem. Parser sprawdza zestaw znaków, długość oraz wymagania formatowe specyficzne dla każdej symbologii. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser i UpceInputParser są używane wewnętrznie przez ich odpowiednie funkcje pomocnicze.


Obiekt kodu kreskowego

Obiekt Barcode zwracany przez wszystkie funkcje pomocnicze zapewnia:

  • to_svg(options) — renderowanie do łańcucha SVG
  • to_png(options) — renderowanie do bajtów PNG
  • render(renderer, options) — renderowanie przy użyciu konkretnej implementacji Renderer
  • symbol — EncodedSymbol zawierający macierz modułu i metadane
  • profile — SymbologyProfile z domyślnymi ustawieniami i możliwościami

Podsumowanie API Reference

KlasaOpis
BarcodePubliczny obiekt kodu kreskowego z to_svg() i to_png()
Code128OptionsOpcje kodowania dla Code 128 (encode_mode)
Code39OptionsOpcje kodowania dla Code 39 (full_ascii, add_check_digit)
QrOptionsOpcje kodowania dla QR Code (error_correction_level, encoding_mode, version, mask)
Ean13OptionsOpcje kodowania dla EAN-13 (allow_check_digit_input)
Ean8OptionsOpcje kodowania dla EAN-8 (allow_check_digit_input)
UpcaOptionsOpcje kodowania dla UPC-A (allow_check_digit_input)
UpceOptionsOpcje kodowania dla UPC-E (allow_check_digit_input, number_system)
RenderOptionsKontrole wyjścia wizualnego (skala, DPI, kolory, tekst)
EncodeOptionsPodstawowy typ dla opcji kodowania specyficznych dla symbologii
BarcodeErrorPodstawowy wyjątek dla biblioteki kodów kreskowych

Zobacz także

 Polski