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

SymbologyTipoHelperClasse Opzioni
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()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ù compatta
  • CODE_A, CODE_B, CODE_C — limitare a un unico set di caratteri
  • CODE_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 a True per codificare l’intera gamma ASCII a 128 caratteri mediante coppie di shift
  • add_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àTipoValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (controlla la dimensione del simbolo)
maskint0–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àTipoDescrizione
scalefloatMoltiplicatore di scala uniforme
dpiintRisoluzione per l’output PNG
module_widthfloatLarghezza di un modulo di codice a barre
module_heightfloatAltezza di un modulo di codice a barre
quiet_zonefloatRiempimento di spazi bianchi intorno al codice a barre
foreground_colorstrColore esadecimale per le barre (ad es., "#000000")
background_colorstrColore esadecimale per lo sfondo
transparent_backgroundboolSfondo trasparente per PNG
show_textboolMostra il testo leggibile dall’uomo sotto il codice a barre
font_familystrFont per il testo leggibile
font_sizefloatDimensione 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

FormatoMetodoTipo di ritorno
SVGto_svg()str
PNGto_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:

ExceptionQuando sollevato
InvalidInputErrorI dati contengono caratteri non supportati dalla simbologia
EncodingErrorCodifica fallita (ad es., i dati superano la capacità)
SymbologyNotFoundErrorNome di simbologia non riconosciuto passato a generate()
UnsupportedCapabilityErrorLa 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 SVG
  • to_png(options) — genera byte PNG
  • render(renderer, options) — rende usando una specifica implementazione Renderer
  • symbol — il EncodedSymbol contenente la matrice del modulo e i metadati
  • profile — il SymbologyProfile con impostazioni predefinite e funzionalità

API Reference Sommario

ClasseDescrizione
BarcodeOggetto barcode pubblico con to_svg() e to_png()
Code128OptionsOpzioni di codifica per Code 128 (encode_mode)
Code39OptionsOpzioni di codifica per Code 39 (full_ascii, add_check_digit)
QrOptionsOpzioni di codifica per QR Code (error_correction_level, encoding_mode, version, mask)
Ean13OptionsOpzioni di codifica per EAN-13 (allow_check_digit_input)
Ean8OptionsOpzioni di codifica per EAN-8 (allow_check_digit_input)
UpcaOptionsOpzioni di codifica per UPC-A (allow_check_digit_input)
UpceOptionsOpzioni di codifica per UPC-E (allow_check_digit_input, number_system)
RenderOptionsControlli dell’output visivo (scala, DPI, colori, testo)
EncodeOptionsTipo base per le opzioni di codifica specifiche della simbologia
BarcodeErrorEccezione di base per la libreria di codici a barre

Vedi anche

 Italiano