Caratteristiche e Funzionalità
Panoramica
Aspose.BarCode FOSS per Python fornisce un API di alto livello per generare sette simbologie di codice a barre con opzioni di codifica per simbologia e controlli di rendering. Questa pagina è il riferimento principale per tutte le aree funzionali.
Simbologie supportate
La libreria supporta sette simbologie tramite funzioni di supporto dedicate e il punto di ingresso generico generate():
| Symbology | Tipo | Helper | Classe Opzioni |
|---|---|---|---|
| Code 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR Code | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |
import aspose_barcode_foss as barcode
# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
# Generic API
bc_gen = barcode.generate("ean13", "590123412345")Modalità di codifica Code 128
Code128Options controlla quali set di caratteri Code 128 utilizza il codificatore. La proprietà encode_mode accetta un valore enum Code128EncodeMode:
AUTO— seleziona automaticamente la codifica più compattaCODE_A,CODE_B,CODE_C— limitare a un unico set di caratteriCODE_AB,CODE_AC,CODE_BC— consentire di passare tra due set di caratteri
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Code 39 Codifica
Code39Options controlla se l’encoder utilizza il set di caratteri base a 43 elementi o l’estensione Full ASCII:
full_ascii— impostare aTrueper codificare l’intera gamma ASCII a 128 caratteri mediante coppie di shiftadd_check_digit— aggiunge una cifra di controllo modulo-43
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)QR Code Configurazione
QrOptions offre la maggiore configurabilità tra tutte le simbologie:
| Proprietà | Tipo | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7%), M (15%), Q (25%), H (30%) |
encoding_mode | QrEncodeMode | AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
version | int | 1–40 (controlla la dimensione del simbolo) |
mask | int | 0–7 (selezione manuale del pattern di maschera) |
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
bc = barcode.qr(
"https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.Q,
encoding_mode=QrEncodeMode.BYTE,
),
)Cifre di controllo EAN e UPC
Ean13Options, Ean8Options, UpcaOptions e UpceOptions hanno ciascuno una proprietà allow_check_digit_input. Per impostazione predefinita, la libreria calcola automaticamente la cifra di controllo. Imposta allow_check_digit_input=True se i tuoi dati la includono già.
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)Controlli di rendering
RenderOptions si applica a tutte le simbologie e controlla l’output visivo. Passalo a to_svg() o to_png():
| Proprietà | Tipo | Descrizione |
|---|---|---|
scale | float | Moltiplicatore di scala uniforme |
dpi | int | Risoluzione per l’output PNG |
module_width | float | Larghezza di un modulo di codice a barre |
module_height | float | Altezza di un modulo di codice a barre |
quiet_zone | float | Riempimento di spazi bianchi intorno al codice a barre |
foreground_color | str | Colore esadecimale per le barre (ad es., "#000000") |
background_color | str | Colore esadecimale per lo sfondo |
transparent_background | bool | Sfondo trasparente per PNG |
show_text | bool | Mostra il testo leggibile dall’uomo sotto il codice a barre |
font_family | str | Font per il testo leggibile |
font_size | float | Dimensione del font per il testo leggibile |
from aspose_barcode_foss import RenderOptions
bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
scale=3.0,
dpi=300,
foreground_color="#1a1a1a",
background_color="#ffffff",
show_text=True,
))Formati di output
| Formato | Metodo | Tipo di ritorno |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
Entrambi i metodi accettano un parametro opzionale RenderOptions.
Gestione degli errori
Tutta la convalida delle opzioni di codifica avviene al momento dell’analisi. La libreria solleva eccezioni tipizzate prima che inizi la codifica:
| Exception | Quando sollevato |
|---|---|
InvalidInputError | I dati contengono caratteri non supportati dalla simbologia |
EncodingError | Codifica fallita (ad es., i dati superano la capacità) |
SymbologyNotFoundError | Nome di simbologia non riconosciuto passato a generate() |
UnsupportedCapabilityError | La funzionalità richiesta non è disponibile per questa simbologia |
Tutte le classi di eccezione ereditano da BarcodeError.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")Validazione dell’input
Ogni simbologia ha un InputParser dedicato che valida i dati prima della codifica. Il parser verifica il set di caratteri, la lunghezza e i requisiti di formato specifici per ogni simbologia. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser e UpceInputParser sono usati internamente dalle rispettive funzioni di supporto.
Oggetto Barcode
L’oggetto Barcode restituito da tutte le funzioni di supporto fornisce:
to_svg(options)— genera una stringa SVGto_png(options)— genera byte PNGrender(renderer, options)— rende usando una specifica implementazioneRenderersymbol— ilEncodedSymbolcontenente la matrice del modulo e i metadatiprofile— ilSymbologyProfilecon impostazioni predefinite e funzionalità
API Reference Sommario
| Classe | Descrizione |
|---|---|
Barcode | Oggetto barcode pubblico con to_svg() e to_png() |
Code128Options | Opzioni di codifica per Code 128 (encode_mode) |
Code39Options | Opzioni di codifica per Code 39 (full_ascii, add_check_digit) |
QrOptions | Opzioni di codifica per QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | Opzioni di codifica per EAN-13 (allow_check_digit_input) |
Ean8Options | Opzioni di codifica per EAN-8 (allow_check_digit_input) |
UpcaOptions | Opzioni di codifica per UPC-A (allow_check_digit_input) |
UpceOptions | Opzioni di codifica per UPC-E (allow_check_digit_input, number_system) |
RenderOptions | Controlli dell’output visivo (scala, DPI, colori, testo) |
EncodeOptions | Tipo base per le opzioni di codifica specifiche della simbologia |
BarcodeError | Eccezione di base per la libreria di codici a barre |