1. Produkty
  2.   Aspose.BarCode
  3.   Aspose.BarCode FOSS for Python

Aspose.BarCode FOSS for Python

Biblioteka open-source Python do generowania kodów kreskowych 1D i 2D zgodnych ze standardami. Licencja MIT, czysty Python, renderuje do SVG i PNG.

Biblioteka Python Open-Source dla generowania kodów kreskowych

Aspose.BarCode FOSS dla Python to darmowa, otwarto‑źródłowa biblioteka do generowania kodów kreskowych zgodnych ze standardami w czystym Python. Zainstaluj ją za pomocą pip install aspose-barcode-foss i rozpocznij tworzenie kodów Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A oraz UPC-E. Każdy kod kreskowy renderuje się bezpośrednio do SVG lub PNG bez natywnych zależności.

Biblioteka udostępnia wysokopoziomową funkcję generate() oraz pomocnicze funkcje dla poszczególnych symbologii, takie jak barcode.code128(), barcode.qr() i barcode.ean13(). Każde wywołanie zwraca obiekt Barcode z metodami .to_svg() i .to_png() umożliwiającymi natychmiastowy wynik. Opcje renderowania, w tym skala, DPI, wymiary modułu, kolory, strefa ciszy oraz widoczność tekstu czytelnego dla człowieka, są kontrolowane przez RenderOptions.

Ponieważ biblioteka jest czystym Python i nie ma natywnych zależności Office ani obrazowania, działa identycznie na Windows, Linux i macOS, w tym w kontenerach Docker oraz w środowiskach CI. Kod źródłowy jest licencjonowany na licencji MIT i hostowany na GitHub. Aby uzyskać funkcje i wsparcie dla przedsiębiorstw, zobacz Aspose.BarCode for Python — Enterprise Product.

Generacja kodów kreskowych

  • Siedem symbologii: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A i UPC-E.
  • Wysokopoziomowy API: Wywołaj barcode.generate("code128", "data"), aby utworzyć dowolny obsługiwany kod kreskowy po nazwie.
  • Dedykowane pomocniki: Użyj barcode.code128(), barcode.qr(), barcode.ean13(), barcode.ean8(), barcode.upca() i barcode.upce() do generowania z zachowaniem typów.
  • Opcje kodowania: Kontroluj tryb kodowania, cyfry kontrolne, poziom korekcji błędów oraz GS1 za pomocą Code128Options, Code39Options, QrOptions i klas opcji specyficznych dla symbologii.
  • Automatyczne cyfry kontrolne: EAN-13, EAN-8, UPC-A i UPC-E obliczają cyfry kontrolne automatycznie na podstawie ciągu danych.

Gdzie Aspose.BarCode FOSS może być używany

  • Etiketowanie produktu: Wygenerować kody kreskowe EAN-13 i UPC-A dla opakowań detalicznych.
  • ** Zarządzanie zapasami:** Stworzenie etykiet kodu 128 dla przepływów roboczych magazynowych i logistycznych.
  • ** Kampanie z kodami QR:** Wyprodukować kody QR do materiałów marketingowych, biletów na wydarzenia i linków mobilnych.
  • Wysyłka i logistyka: Wygenerować kod 39 oraz kod 128 dla etykiet śledzących przesyłki.

Rendering i produkcja

  • SVG output: Wywołaj barcode.to_svg(), aby uzyskać zgodny ze standardem ciąg SVG.
  • PNG output: Wywołaj barcode.to_png(), aby uzyskać bajty obrazu PNG.
  • RenderOptions: Kontroluj scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family i font_size.
  • Human-readable text: Implementacje TextLayoutPolicy specyficzne dla symbologii obsługują umieszczanie tekstu pod każdym typem kodu kreskowego.
  • Renderer architecture: PngRenderer i SvgRenderer implementują interfejs Renderer dla rozszerzalnego wyjścia.

Doświadczenie twórcy

Aspose.BarCode FOSS jest instalowalny z pip install aspose-barcode-foss. Nie ma natywnych bibliotek ani pakietów systemowych do zainstalowania. Biblioteka wymaga Python 3.12 lub nowszej.

API jest zbudowany wokół Barcode, EncodeOptions, RenderOptions i SymbologyRegistry, obejmując pełny pipeline od generacji do renderowania. Każda symbologia jest definiowana przez SymbologyDefinition, który łączy parser, enkoder, profil i politykę układu tekstu. Kod źródłowy jest na licencji MIT, hostowany na GitHubie i przyjmuje wkłady.

Konfiguracja symbologii

  • Kodowanie 128 trybów: Wybierz AUTO, CODE_A , CODE_B lub CODE_C albo tryby mieszane za pomocą Code128EncodeMode.
  • Kodowanie 39: Wybierz BASE lub FULL_ASCII kodując opcjonalną cyfrę kontrolną za pośrednictwem Code39Options.
  • Opcje QR: Ustaw error_correction_level (L, M, Q, H), version, mask i encoding_mode [AUTO, NUMERIC, ALPHANUME RICK, BYTE, KANJI] za pośrednictwem QrOptions.
  • System rejestrowy: SymbologyRegistry przechowuje wszystkie definicje i rozstrzyga symbologię według nazw kanonicznych lub pseudonimi.
  • ** Metadane profilu:** Każda symbologia SymbologyProfile zapewnia domyślne, możliwości, odniesienia do specyfikacji i znane ograniczenia.

Obsługa błędu

  • Typed exceptions: BarcodeError jest bazą, z EncodingError, RenderingError, InvalidInputError, SymbologyNotFoundError, UnsupportedFeatureError i UnsupportedCapabilityError.
  • Input validation: Każdy InputParser waliduje dane przed kodowaniem, wykrywając nieprawidłowe znaki i naruszenia formatu we wczesnym etapie.
  • Capability checks: Nieobsługiwane funkcje (np. binarne wejście dla Code 39) generują UnsupportedCapabilityError z opisową wiadomością.

Wygenerowanie kodu 128 kodów kreskowych

Tworzenie kodu barkowego 128 z funkcją generate() wysokiego poziomu i renderowanie go w SVG.

import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Hello World")
svg_string = bc.to_svg()
print(svg_string[:80])

Tworzenie kodu QR z opcjami niestandardowymi

Wygenerować kod QR z konkretną korektą błędów i oddać w bajty PNG.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr("https://example.com", options=QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H
))
png_bytes = bc.to_png()
with open("qr.png", "wb") as f:
    f.write(png_bytes)

Wyświetlacz o niestandardowym wyglądzie

Użyj RenderOptions do sterowania skalą, kolorami i strefą cichym dla dowolnego kodu kreskowego.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
    scale=2.0,
    foreground_color="#003366",
    quiet_zone=10.0,
    show_text=True
))

Najczęściej Zadawane Pytania

Jaką licencję używa Aspose.BarCode FOSS dla Pythona?

Biblioteka jest udostępniana na podstawie licencji MIT. Możesz ją używać, modyfikować i redystrybuować zarówno w projektach open source jak i komercyjnych bez opłat royalty.

Jakie symbologie kodów kreskowych są obsługiwane?

Biblioteka obsługuje siedem symbologii Kod 128, Kod 39, EAN-13, EAn-8, QR Code, UPC-A i U PC-E.

Jakie formaty wyjścia są dostępne?

Kody kreskowe są wyświetlane na SVG za pośrednictwem to_svg() i PNG za pomocą to_png(). Metoda to_pdf() istnieje w API, ale powoduje NotImplementedError w bieżącym wydaniu.

Jak zainstalować Aspose.BarCode FOSS dla Pythona?

pip install aspose-barcode-foss. Biblioteka wymaga Python 3.12 lub nowszej wersji. Jest to czysty Python bez natywnych uzależnień.

Czy mogę kontrolować wygląd kodu kreskowego?

Tak. Przekaż RenderOptions obiektu do to_svg() lub to_png() w celu kontrolowania skali, DPI, rozmiarów modułu, kolorów, strefy cichego i czytelnego tekstu przez człowieka.

Jakie wersje Pythona są obsługiwane?

Aspose.BarCode FOSS wymaga Python 3.12 lub nowszego. Jest to czysty Python bez zależności od native lub C-extension.

Czy mogę generować kody kreskowe w serii?

Tak. Stwórz pojedynczą instancję BarcodeService i wezwij generate() w pętli dla każdej wartości danych. Każdy połączenie zwraca obiekt Barcode, który wyświetla się niezależnie od to_svg() lub to_png().

Jak skonfigurować opcje kodowania per-symbologii?

Przekaż obiekt opcji specyficzny dla symbologii (np. Code128Options, QrOptions, Ean13Options) jako parametr encode do BarcodeService.generate(). Każda klasa opcji udostępnia właściwości specyficzne dla tej symbologii, takie jak encode_mode dla Code 128 lub error_correction_level dla QR Code.

  

Zasoby Wsparcia i Nauki

 Polski