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

Aspose.BarCode FOSS for Python

Bibliotecă open-source Python pentru generarea de coduri de bare 1D și 2D conforme cu standardele. Licențiată MIT, pură Python, redă în SVG și PNG.

Biblioteca Python Open-Source pentru generarea de coduri de bare

Aspose.BarCode FOSS pentru Python este o bibliotecă gratuită, open-source pentru generarea de coduri de bare conforme cu standardele în Python pur. Instalați-o cu pip install aspose-barcode-foss și începeți să creați coduri de bare Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A și UPC-E. Fiecare cod de bare este redat direct în SVG sau PNG fără dependențe native.

Biblioteca expune o funcție generate() de nivel înalt și ajutoare per-simbolistică precum barcode.code128(), barcode.qr() și barcode.ean13(). Fiecare apel returnează un obiect Barcode cu metodele .to_svg() și .to_png() pentru ieșire imediată. Opțiunile de redare, inclusiv scară, DPI, dimensiuni ale modulelor, culori, zonă liniștită și vizibilitatea textului lizibil pentru om, sunt controlate prin RenderOptions.

Deoarece biblioteca este Python pură, fără dependențe native de Office sau de imagistică, rulează identic pe Windows, Linux și macOS, inclusiv în containere Docker și în rulere CI. Codul sursă este licențiat sub MIT și găzduit pe GitHub. Pentru funcționalități și suport enterprise, vedeți Aspose.BarCode for Python — Enterprise Product.

Generația codurilor de bare

  • Șapte simboluri: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A și UPC-E.
  • Nivel înalt API: Apelați barcode.generate("code128", "data") pentru a crea orice cod de bare suportat prin nume.
  • Ajutoare dedicate: Utilizați barcode.code128(), barcode.qr(), barcode.ean13(), barcode.ean8(), barcode.upca() și barcode.upce() pentru generare tip-sigură.
  • Opțiuni de codare: Controlați modul de codare, cifrele de control, nivelul de corecție a erorilor și GS1 prin Code128Options, Code39Options, QrOptions și clasele de opțiuni specifice simbolurilor.
  • Cifre de control automate: EAN-13, EAN-8, UPC-A și UPC-E calculează automat cifrele de control din șirul de date.

Unde Aspose.BarCode FOSS poate fi utilizat

  • Etichetarea produsului: Generați coduri de bare EAN-13 și UPC-A pentru ambalajele cu amănuntul.
  • Gestionarea stocurilor: Crearea etichetelor cu codul 128 pentru fluxurile de lucru din depozit și logistică.
  • Campanii cu coduri QR: Produceți codurile QR pentru materiale de marketing, bilete la evenimente și link-uri mobile.
  • ** Transport și logistică:** Generați codurile 39 și 128 pentru etichetele de urmărire a transporturilor.

Rendering și producție

  • Ieșire SVG: Apelați barcode.to_svg() pentru a obține un șir SVG conform standardelor.
  • Ieșire PNG: Apelați barcode.to_png() pentru a obține octeți de imagine PNG.
  • RenderOptions: Controlează scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family și font_size.
  • Text lizibil: Implementările TextLayoutPolicy specifice simbolisticii gestionează plasarea textului sub fiecare tip de cod de bare.
  • Arhitectura renderer-ului: PngRenderer și SvgRenderer implementează interfața Renderer pentru ieșire extensibilă.

Experiență de dezvoltator

Aspose.BarCode FOSS poate fi instalat cu pip install aspose-barcode-foss. Nu există biblioteci native sau pachete de sistem de instalat. Biblioteca necesită Python 3.12 sau o versiune ulterioară.

API este construit în jurul Barcode, EncodeOptions, RenderOptions și SymbologyRegistry, acoperind întregul flux de la generare la redare. Fiecare simbolie este definită de un SymbologyDefinition care include un parser, un encoder, un profil și o politică de aranjare a textului. Codul sursă este licențiat sub MIT, găzduit pe GitHub și acceptă contribuții.

Configurația simbolică

  • ** Modurile de cod 128:** Selectați AUTO, CODE_A , CODE_B sau CODE_C prin intermediul Code128EncodeMode.
  • ** Modurile de codare:** Alegeţi BASE sau FULL_ASCII pentru a fi codificat cu o cifră opțională prin Code39Options.
  • ** Opțiunile QR:** Set error_correction_level (L, M, Q, H), version, mask și encoding_mode [AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI] prin intermediul QrOptions.
  • ** Sistemul de înregistrare:** SymbologyRegistry stochează toate definițiile și rezolvă simbolurile după nume canonic sau alias.
  • ** Metadatele profilului:** Fiecare simbolologie SymbologyProfile oferă standarduri, capacități, referințe specifice și limitări cunoscute.

Gestionarea erorilor

  • Excepții tipate: BarcodeError este baza, cu EncodingError, RenderingError , InvalidInputError,, SymbologyNotFoundError ,, UnsupportedFeatureError și UnsupportedCapabilityError.
  • Validația de intrare: Fiecare InputParser validează datele înainte de codificare, prin care detectează caracterele nevalide și încălcările formatului.
  • Cercetări de capacitate: Caracteristicile neînsoțite (de exemplu, intrarea binară pentru codul 39) ridică UnsupportedCapabilityError cu un mesaj descriptiv.

Genera un cod de bară 128

Crearea unui cod de bare 128 cu funcția generate() la nivel înalt și render-ul acestuia în SVG.

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

Creează un cod QR cu opțiuni personalizate

Generați un cod QR cu corecție de erori specifică și faceți-l să fie în baiti 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)

Reprezentare cu aspect personalizat

Folosiți RenderOptions pentru a controla scara, culorile și zona liniștită pentru orice cod de bare.

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

Frequently Asked Questions

Ce licență folosește Aspose.BarCode FOSS pentru Python?

Biblioteca este eliberată sub licența MIT. Puteți să o utilizați, modificați și redistribuiți atât în proiecte open-source cât și comerciale fără redevențe.

Ce simboluri de cod-bară sunt acceptate?

Biblioteca suportă șapte simboluri Codul 128, Code 39, EAN-13, EAn-8, QR Code, UPC-A și U PC-E.

Ce format de ieșire sunt disponibile?

Codurile de bare sunt redate în SVG prin to_svg() și PNG printo_png(). Metoda to_pdf() există în API, dar ridică NotImplementedError în actuala versiune.

Cum instalați Aspose.BarCode FOSS pentru Python?

Rulați pip install aspose-barcode-foss. Biblioteca necesită Python 3.12 sau o versiune ulterioară. Este Python pur, fără dependențe native.

Pot controla aspectul vizual al codului de bare?

Da. Treci un obiect RenderOptions la to_svg() sau to_png() pentru a controla scara, DPI, dimensiunile modulului, culorile, zona liniștită și textul lizibil de om.

Ce versiuni Python sunt suportate?

Aspose.BarCode FOSS necesită Python 3.12 sau o versiune ulterioară. Este pur Python fără dependențe native sau C-extension.

Pot genera coduri de bare în lot?

Da. Creați o singură instanță BarcodeService și sunați generate() într-o buclă pentru fiecare valoare de date. Fiecare apel returnă un obiect Barcode pe care îl înregistrați independent cu to_svg() sau to_png().

Cum configur opțiunile de codificare per-simbologie?

Transmiteți un obiect de opțiuni specific simbolisticii (de exemplu Code128Options, QrOptions, Ean13Options) ca parametru encode pentru BarcodeService.generate(). Fiecare clasă de opțiuni expune proprietăți specifice acelei simbolistici, cum ar fi encode_mode pentru Code 128 sau error_correction_level pentru QR Code.

  

Support and Learning Resources

 Română