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():
| Symbology | Typ | Helper | Klasa Opcji |
|---|---|---|---|
| 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 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 kodowanieCODE_A,CODE_B,CODE_C— ogranicz do jednego zestawu znakówCODE_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 naTrue, 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ść | 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 (kontroluje rozmiar symbolu) |
mask | int | 0–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ść | Typ | Opis |
|---|---|---|
scale | float | Jednolity mnożnik skali |
dpi | int | Rozdzielczość wyjścia PNG |
module_width | float | Szerokość jednego modułu kodu kreskowego |
module_height | float | Wysokość jednego modułu kodu kreskowego |
quiet_zone | float | Białe wypełnienie wokół kodu kreskowego |
foreground_color | str | Kolor szesnastkowy dla pasków (np., "#000000") |
background_color | str | Kolor szesnastkowy dla tła |
transparent_background | bool | Przezroczyste tło dla PNG |
show_text | bool | Pokaż tekst czytelny dla człowieka pod kodem kreskowym |
font_family | str | Czcionka dla tekstu czytelnego dla człowieka |
font_size | float | Rozmiar 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
| Format | Metoda | Typ zwracany |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_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:
| Exception | Kiedy podnoszony |
|---|---|
InvalidInputError | Dane zawierają znaki nieobsługiwane przez symbologię |
EncodingError | Kodowanie nie powiodło się (np. dane przekraczają pojemność) |
SymbologyNotFoundError | Nie 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 SVGto_png(options)— renderowanie do bajtów PNGrender(renderer, options)— renderowanie przy użyciu konkretnej implementacjiRenderersymbol—EncodedSymbolzawierający macierz modułu i metadaneprofile—SymbologyProfilez domyślnymi ustawieniami i możliwościami
Podsumowanie API Reference
| Klasa | Opis |
|---|---|
Barcode | Publiczny obiekt kodu kreskowego z to_svg() i to_png() |
Code128Options | Opcje kodowania dla Code 128 (encode_mode) |
Code39Options | Opcje kodowania dla Code 39 (full_ascii, add_check_digit) |
QrOptions | Opcje kodowania dla QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | Opcje kodowania dla EAN-13 (allow_check_digit_input) |
Ean8Options | Opcje kodowania dla EAN-8 (allow_check_digit_input) |
UpcaOptions | Opcje kodowania dla UPC-A (allow_check_digit_input) |
UpceOptions | Opcje kodowania dla UPC-E (allow_check_digit_input, number_system) |
RenderOptions | Kontrole wyjścia wizualnego (skala, DPI, kolory, tekst) |
EncodeOptions | Podstawowy typ dla opcji kodowania specyficznych dla symbologii |
BarcodeError | Podstawowy wyjątek dla biblioteki kodów kreskowych |