Introduzione

Stiamo rilasciando Aspose.BarCode FOSS per Python, una libreria pure-Python per generare codici a barre 1D e 2D conformi agli standard. Il codice sorgente è disponibile su GitHub as aspose-barcode-foss, è rilasciata sotto licenza MIT e non ha dipendenze esterne.

La libreria supporta sette simbologie: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A e UPC-E. Ogni codice a barre viene renderizzato direttamente in SVG o PNG. Non ci sono estensioni native, né pacchetti di sistema da installare, né driver grafici richiesti — compilare dal sorgente su Windows, Linux e macOS.


Caratteristiche principali

Generazione di alto livello API

La funzione di livello superiore generate() accetta un nome di simbologia e una stringa di dati, restituendo un oggetto Barcode. Helper dedicati per simbologia — code128(), code39(), ean13(), ean8(), qr(), upca() e upce() — forniscono punti di ingresso tipizzati per ciascun formato.

import aspose_barcode_foss as barcode

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

Opzioni di codifica specifiche per simbologia

Ogni simbologia accetta una classe di opzioni che controlla il comportamento della codifica. Code128Options fornisce encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC). Code39Options supporta le modalità BASE e FULL_ASCII. QrOptions espone error_correction_level (L, M, Q, H), version, mask e 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()

Controlli di rendering

RenderOptions controlla l’output visivo: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family e font_size. Sia to_svg() sia to_png() accettano un parametro opzionale 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,
))

Cifre di controllo automatiche

EAN-13, EAN-8, UPC-A e UPC-E calcolano le cifre di controllo automaticamente dalla stringa di dati. Si forniscono solo le cifre del payload; la libreria aggiunge la cifra di controllo corretta durante la codifica.

Validazione dell’input

Ogni simbologia ha un InputParser dedicato che valida i dati prima della codifica. Caratteri non validi, lunghezze errate e violazioni di formato vengono rilevati in anticipo con eccezioni tipizzate: InvalidInputError, EncodingError, SymbologyNotFoundError e UnsupportedCapabilityError — tutte ereditano da BarcodeError.


Avvio rapido

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

Genera un codice a barre Code 128 e scrivi l’SVG in un file:

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 un QR code e salvalo come 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())

La libreria richiede Python 3.12 o versioni successive.


Formati supportati

SymbologyTipoCifra di controlloClasse Options
Code 1281DIntegratoCode128Options
Code 391DOptionalCode39Options
EAN-131DAutomaticEan13Options
EAN-81DAutomaticEan8Options
QR Code2DIntegratoQrOptions
UPC-A1DAutomaticUpcaOptions
UPC-E1DAutomaticUpceOptions

Formati di output:

FormatoEstensioneExport
SVG.svg
PNG.png

Open Source e Licenze

La libreria è rilasciata sotto licenza MIT. Puoi usarla in applicazioni commerciali, modificarla e ridistribuirla senza restrizioni. Il codice sorgente è disponibile su GitHub. Non ci sono livelli di utilizzo, limiti di token o telemetria. Tutta l’elaborazione avviene localmente.


Guida introduttiva

Risorse correlate