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
| Symbology | Tipo | Cifra di controllo | Classe Options |
|---|---|---|---|
| Code 128 | 1D | Integrato | Code128Options |
| Code 39 | 1D | Optional | Code39Options |
| EAN-13 | 1D | Automatic | Ean13Options |
| EAN-8 | 1D | Automatic | Ean8Options |
| QR Code | 2D | Integrato | QrOptions |
| UPC-A | 1D | Automatic | UpcaOptions |
| UPC-E | 1D | Automatic | UpceOptions |
Formati di output:
| Formato | Estensione | Export |
|---|---|---|
| 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.