Wprowadzenie

Wydajemy Aspose.BarCode FOSS dla Python, czysta biblioteka Python do generowania kodów kreskowych 1D i 2D zgodnych ze standardami. Źródło jest dostępne na GitHub as aspose-barcode-foss, posiada licencję MIT i nie ma żadnych zewnętrznych zależności.

Biblioteka obsługuje siedem symbologii: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A i UPC-E. Każdy kod kreskowy renderowany jest bezpośrednio do SVG lub PNG. Nie ma natywnych rozszerzeń, żadnych pakietów systemowych do instalacji ani wymaganego sterownika graficznego — buduj ze źródła na Windows, Linux i macOS.


Kluczowe funkcje

Generowanie wysokiego poziomu API

Funkcja najwyższego poziomu generate() przyjmuje nazwę symbologii i ciąg danych, zwracając obiekt Barcode. Dedykowane pomocniki per-symbologia — code128(), code39(), ean13(), ean8(), qr(), upca() i upce() — zapewniają typowo-bezpieczne punkty wejścia dla każdego formatu.

import aspose_barcode_foss as barcode

bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()

Opcje kodowania specyficzne dla symbologii

Każda symbolika akceptuje klasę opcji, która kontroluje zachowanie kodowania. Code128Options zapewnia encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC). Code39Options obsługuje tryby BASE i FULL_ASCII. QrOptions udostępnia error_correction_level (L, M, Q, H), version, mask oraz encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI).

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
png_bytes = bc.to_png()

Kontrole renderowania

RenderOptions kontroluje wyjście wizualne: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family i font_size. Zarówno to_svg(), jak i to_png() akceptują opcjonalny parametr RenderOptions.

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

Automatyczne cyfry kontrolne

EAN-13, EAN-8, UPC-A i UPC-E obliczają cyfry kontrolne automatycznie na podstawie ciągu danych. Dostarczasz tylko cyfry ładunku; biblioteka dopisuje prawidłową cyfrę kontrolną podczas kodowania.

Walidacja wejścia

Każda symbolika ma dedykowany InputParser, który waliduje dane przed kodowaniem. Nieprawidłowe znaki, niepoprawne długości i naruszenia formatu są wykrywane wcześnie przy pomocy typowanych wyjątków: InvalidInputError, EncodingError, SymbologyNotFoundError i UnsupportedCapabilityError — wszystkie dziedziczą po BarcodeError.


Szybki start

git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .

Wygeneruj kod kreskowy Code 128 i zapisz SVG do pliku:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions

bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(show_text=True))

with open("barcode.svg", "w") as f:
    f.write(svg)

Wygeneruj QR code i zapisz go jako PNG:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)

with open("qr.png", "wb") as f:
    f.write(bc.to_png())

Biblioteka wymaga Python 3.12 lub nowszej.


Obsługiwane formaty

SymbologyTypCyfra kontrolnaKlasa Opcji
Code 1281DWbudowaneCode128Options
Code 391DOptionalCode39Options
EAN-131DAutomaticEan13Options
EAN-81DAutomaticEan8Options
QR Code2DWbudowanyQrOptions
UPC-A1DAutomaticUpcaOptions
UPC-E1DAutomaticUpceOptions

Formaty wyjściowe:

FormatRozszerzenieExport
SVG.svg
PNG.png

Open Source i licencjonowanie

Biblioteka jest licencjonowana na licencji MIT. Możesz używać jej w aplikacjach komercyjnych, modyfikować ją i rozpowszechniać bez ograniczeń. Źródło jest dostępne na GitHub. Nie ma żadnych poziomów użytkowania, limitów tokenów ani telemetrii. Całe przetwarzanie odbywa się lokalnie.


Rozpoczęcie

Powiązane zasoby