Introduction

Noi eliberăm … Aspose.BarCode FOSS for Python, o bibliotecă Python pură pentru generarea de coduri de bare 1D și 2D conforme cu standardele. Biblioteca este publicată pe PyPI ca aspose-barcode-foss, poartă o licență MIT, și are zero dependențe externe.

Biblioteca suportă șapte simboluri: Codul 128, Code 39, EAN-13, EAn-8, QR Code, UPC-A și UCP-E. Fiecare cod de bare renderizează direct în SVG sau PNG. Nu există extensii native, nu sunt pachete sistem pentru a fi instalate și nu este necesar niciun driver grafic pip install aspose-barcode-foss este setarea completă pe Windows, Linux și macOS.


Caracteristici cheie

API de generare la nivel înalt

Cel mai înalt nivel. generate() funcția acceptă un nume de simbol și o șir de date, returnând o Barcode Obiect. ajutoare dedicate per-simbolic code128(), code39(), ean13(), ean8(), qr(), upca(), și upce() să asigure punctele de intrare sigure pentru fiecare format.

import aspose_barcode_foss as barcode

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

Opțiuni de codificare specifice simbologiei

Fiecare simbol acceptă o clasă de opțiuni care controlează comportamentul codificării. Code128Options oferă: encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC). Code39Options suportă modurile BASE și FULL_ASCII. QrOptions expuneri error_correction_level (L, M, Q, H), version, mask, și 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()

Controale de renderizare

RenderOptions controlează ieșirea vizuală: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family, și font_size.Amândouă . to_svg() și de: to_png() acceptă o opţiune de RenderOptions parametru.

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

Cifrele de verificare automată

EAN-13, E AN-8, UPC-A și U PC-E calculează cifrele de verificare automat din șirul de date. Furnizati doar cifrele de încărcare utilă; biblioteca adaugă cifra corectă de control în timpul codificării.

Validarea de intrare

Fiecare simbol are un dedicat. InputParser caracterele nevalide, lungimile incorecte și încălcările formatului sunt detectate devreme cu excepții tipărite: InvalidInputError, EncodingError, SymbologyNotFoundError, și UnsupportedCapabilityError toate moștenite de la BarcodeError.


Început rapid

pip install aspose-barcode-foss

Generați un cod de bare 128 și scrieţi SVG într-un fișier:

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)

Generați un cod QR și salvați-l ca 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())

Biblioteca necesită Python 3.12 sau mai recent.


Formatele suportate

SymbologyTypeVerificați DigitClasificarea opțiunilor
Codul 1281DÎncorporat în sistemCode128Options
Codul 391DOptionalCode39Options
EAN-131DAutomaticEan13Options
EAN-81DAutomaticEan8Options
Cod QR2DÎncorporat în sistemQrOptions
UPC-A1DAutomaticUpcaOptions
UPC-E1DAutomaticUpceOptions

Formatul de ieșire:

FormatExtensionExport
SVG.svg
PNG.png

Open Source & Licențiere

Biblioteca este licențiată de MIT. Puteți să o utilizați în aplicații comerciale, să le modificați și să redistribuiți fără restricție. Sursa este disponibilă pe WEB GitHub.Nu există nivele de utilizare, nici limite token și nu telemetrie.


Cum să începem?

Resurse conexe