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

Aspose.BarCode FOSS for Python

Libreria open-source Python per generare codici a barre 1D e 2D conformi agli standard. Licenza MIT, puro Python, genera SVG e PNG.

Open-Source Python Library per la generazione di codici a barre

Aspose.BarCode FOSS per Python è una libreria gratuita e open-source per generare codici a barre conformi agli standard in puro Python. Installala con pip install aspose-barcode-foss e inizia a creare codici a barre 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 senza dipendenze native.

La libreria espone una funzione generate() di alto livello e helper per simbologia come barcode.code128(), barcode.qr() e barcode.ean13(). Ogni chiamata restituisce un oggetto Barcode con i metodi .to_svg() e .to_png() per l’output immediato. Le opzioni di rendering, inclusi scala, DPI, dimensioni del modulo, colori, zona silenziosa e visibilità del testo leggibile dall’uomo, sono controllate tramite RenderOptions.

Poiché la libreria è puro Python senza dipendenze native di Office o imaging, funziona identicamente su Windows, Linux e macOS, inclusi container Docker e runner CI. Il codice è rilasciato con licenza MIT e ospitato su GitHub. Per funzionalità enterprise e supporto, vedi Aspose.BarCode for Python — Enterprise Product.

Generazione di codici a barre

  • Sette simbologie: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A e UPC-E.
  • Alto livello API: Chiama barcode.generate("code128", "data") per creare qualsiasi codice a barre supportato per nome.
  • Helper dedicati: Usa barcode.code128(), barcode.qr(), barcode.ean13(), barcode.ean8(), barcode.upca() e barcode.upce() per una generazione type-safe.
  • Opzioni di codifica: Controlla la modalità di codifica, le cifre di controllo, il livello di correzione degli errori e GS1 tramite Code128Options, Code39Options, QrOptions e le classi di opzioni specifiche per simbologia.
  • Cifre di controllo automatiche: EAN-13, EAN-8, UPC-A e UPC-E calcolano le cifre di controllo automaticamente dalla stringa di dati.

Dove Aspose.BarCode FOSS può essere utilizzato

  • Etichettatura del prodotto: Generare codici a barre EAN-13 e UPC-A per l’imballaggio al dettaglio.
  • Gestione dell’inventario: Creare etichette del codice 128 per i flussi di lavoro nel magazzino e nella logistica.
  • Campaigni di codici QR: Produci codizi QR per materiali di marketing, biglietti per eventi e link mobili.
  • ** Spedizione e logistica:** Generare codici a barre 39 e 128 per le etichette di tracciamento delle spedizioni.

Rendering e produzione

  • Output SVG: Chiama barcode.to_svg() per ottenere una stringa SVG conforme agli standard.
  • Output PNG: Chiama barcode.to_png() per ottenere i byte dell’immagine PNG.
  • RenderOptions: Controlla scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family e font_size.
  • Testo leggibile: Le implementazioni specifiche per la simbologia TextLayoutPolicy gestiscono il posizionamento del testo sotto ogni tipo di codice a barre.
  • Architettura del renderer: PngRenderer e SvgRenderer implementano l’interfaccia Renderer per un output estensibile.

Esperienza dello sviluppatore

Aspose.BarCode FOSS è installabile con pip install aspose-barcode-foss. Non ci sono librerie native o pacchetti di sistema da installare. La libreria richiede Python 3.12 o versioni successive.

Il API è costruito attorno a Barcode, EncodeOptions, RenderOptions e SymbologyRegistry, coprendo l’intera pipeline di generazione‑a‑rendering. Ogni simbologia è definita da un SymbologyDefinition che raggruppa un parser, un codificatore, un profilo e una politica di layout del testo. Il codice sorgente è con licenza MIT, ospitato su GitHub, e accetta contributi.

Configurazione della simbologia

  • ** Modi di codice 128:** Selezionare AUTO, CODE_A , CODE_B o CODE_C tramite Code128EncodeMode.
  • ** Modi di codifica 39:** Scegliere la codificazione BASE o FULL_ASCII con un’opzione per digitare via Code39Options.
  • Opzioni QR: Imposta error_correction_level (L, M, Q, H), version, mask e encoding_mode [AUTO, NUMERICO, ALFANUMERICO, BYTE, KANJI] tramite QrOptions.
  • ** Sistema di registro:** SymbologyRegistry memorizza tutte le definizioni e risolve le simbologie per nome canonico o alias.
  • ** Metadati del profilo:** Ogni simbologia SymbologyProfile fornisce predefiniti, capacità, riferimenti specifici e limitazioni note.

Trattamento degli errori

  • Escezioni tipificate: BarcodeError è la base, con EncodingError, RenderingError,InvalidInputError , SymbologyNotFoundError e UnsupportedFeatureError.
  • Validazione di input: Ogni InputParser convalida i dati prima dell’incrodamento, individuando precocemente caratteri non validi e violazioni del formato.
  • Controlli di funzionalità: Funzioni non supportate (ad esempio, input binario per il codice 39) sollevano UnsupportedCapabilityError con un messaggio descrittivo.

Generare un codice a barre 128

Creare un codice a barre 128 con la funzione di alto livello generate() e renderlo in SVG.

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

Crea un codice QR con opzioni personalizzate

Generare un codice QR con correzione di errore specifica e renderlo in byte 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)

Render con aspetto personalizzato

Utilizzare RenderOptions per controllare scala, colori e zona silenziosa di qualsiasi codice a barre.

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

Domande Frequenti

Quale licenza usa Aspose.BarCode FOSS per Python?

La libreria è rilasciata sotto la licenza MIT. Puoi usarla, modificarla e ridistribuirla sia in progetti open source che commerciali senza royalties.

Quali sono le simbologie dei codici a barre supportate?

La biblioteca supporta sette simbologie Codice 128, Codio 39, EAN-13, E AN-8, QR Code, UPC-A e U PC-E.

Quali sono i formati di output disponibili?

I codici a barre vengono resi in SVG tramite to_svg() e PNG via to_png(). Il metodo to_pdf() esiste nell’API ma solleva NotImplementedError nella versione corrente.

Come installo Aspose.BarCode FOSS per Python?

Esegui pip install aspose-barcode-foss. La libreria richiede Python 3.12 o versioni successive. È puro Python senza dipendenze native.

Posso controllare l’aspetto visivo del codice a barre?

Passare un oggetto RenderOptions a to_svg() o to_png() per controllare scala, DPI, dimensioni del modulo, colori, zona silenziosa e testo leggibile dall’uomo.

Quali versioni di Python sono supportate?

Aspose.BarCode FOSS richiede Python 3.12 o successivo. È puro Python senza dipendenze native o C-extension.

Posso generare codici a barre in batch?

Sì. Crea un’unica istanza BarcodeService e chiama generate() in loop per ogni valore di dati. Ogni chiamata restituisce un oggetto Barcode che renderesti indipendentemente con to_svg() o to_png().

Come posso configurare le opzioni di codifica per-simbologia?

Passare un oggetto di opzioni specifico per la simbologia (ad esempio Code128Options, QrOptions e Ean13Options) come parametro encode a BarcodeService.generate(). Ogni classe di option espone proprietà specifiche di tale simbogia, ad esempioencode_mode per il codice 128 o error_correction_level Per il QR Code.

  

Risorse di Supporto e Apprendimento

 Italiano