Kenmerken en functionaliteiten
Overzicht
Aspose.BarCode FOSS voor Python biedt een hoog-niveau API voor het genereren van zeven barcode-symbologieën met per-symbologie encode-opties en renderingsbesturingselementen. Deze pagina is de primaire referentie voor alle kenmerkgebieden.
Ondersteunde symbologieën
De bibliotheek ondersteunt zeven symbologieën via toegewijde hulpfuncties en het generieke generate() toegangspunt:
| Symbology | Type | Helper | Opties Klasse |
|---|---|---|---|
| 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")Code 128 encodeermodi
Code128Options bepaalt welke Code 128 tekensets de encoder gebruikt. De eigenschap encode_mode accepteert een Code128EncodeMode enum-waarde:
AUTO— selecteert automatisch de meest compacte coderingCODE_A,CODE_B,CODE_C— beperk tot één karaktersetCODE_AB,CODE_AC,CODE_BC— sta toe om te schakelen tussen twee karaktersets
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Code 39 Codering
Code39Options bepaalt of de encoder de basis 43-karakterset of de volledige ASCII-uitbreiding gebruikt:
full_ascii— stel in opTrueom het volledige 128-karakter ASCII-bereik te coderen met shift-parenadd_check_digit— voegt een modulo-43 controlecijfer toe
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)QR Code Configuratie
QrOptions biedt de meeste configuratie van alle symbologieën:
| Eigenschap | Type | 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 (regelt de symboolgrootte) |
mask | int | 0–7 (handmatige maskerpatroonselectie) |
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,
),
)EAN- en UPC-controlecijfers
Ean13Options, Ean8Options, UpcaOptions en UpceOptions hebben elk een allow_check_digit_input-eigenschap. Standaard berekent de bibliotheek het controlecijfer automatisch. Stel allow_check_digit_input=True in als uw gegevens dit al bevatten.
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),
)Renderingscontroles
RenderOptions is van toepassing op alle symbologieën en bepaalt de visuele output. Geef het door aan to_svg() of to_png():
| Eigenschap | Type | Beschrijving |
|---|---|---|
scale | float | Uniforme schaalvermenigvuldiger |
dpi | int | Resolutie voor PNG-uitvoer |
module_width | float | Breedte van één barcode-module |
module_height | float | Hoogte van één barcode-module |
quiet_zone | float | Witruimtevulling rond de barcode |
foreground_color | str | Hex-kleur voor balken (bijv., "#000000") |
background_color | str | Hex-kleur voor achtergrond |
transparent_background | bool | Transparante achtergrond voor PNG |
show_text | bool | Toon menselijk leesbare tekst onder de barcode |
font_family | str | Lettertype voor menselijk leesbare tekst |
font_size | float | Lettergrootte voor menselijk leesbare tekst |
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,
))Uitvoerformaten
| Formaat | Methode | Returntype |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
Beide methoden accepteren een optionele RenderOptions-parameter.
Foutafhandeling
Alle validatie van encode-opties gebeurt tijdens het parseren. De bibliotheek werpt getypeerde uitzonderingen voordat de codering begint:
| Exception | Wanneer opgegooid |
|---|---|
InvalidInputError | Gegevens bevatten tekens die niet worden ondersteund door de symbologie |
EncodingError | Codering mislukt (bijv., gegevens overschrijden de capaciteit) |
SymbologyNotFoundError | Onherkende symbologienaam doorgegeven aan generate() |
UnsupportedCapabilityError | Aangevraagde functie niet beschikbaar voor deze symbologie |
Alle exceptieklassen erven van BarcodeError.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")Invoervalidatie
Elke symbologie heeft een toegewijde InputParser die gegevens valideert vóór het coderen. De parser controleert de tekenset, lengte en formaatvereisten die specifiek zijn voor elke symbologie. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser en UpceInputParser worden intern gebruikt door hun respectieve hulpfuncties.
Barcode-object
Het Barcode object dat door alle helper-functies wordt geretourneerd, biedt:
to_svg(options)— renderen naar SVG-stringto_png(options)— renderen naar PNG-bytesrender(renderer, options)— renderen met een specifiekeRendererimplementatiesymbol— deEncodedSymboldie de modulematrix en metadata bevatprofile— deSymbologyProfilemet standaardinstellingen en mogelijkheden
API Reference Samenvatting
| Klasse | Beschrijving |
|---|---|
Barcode | Openbaar barcode-object met to_svg() en to_png() |
Code128Options | Coderingsopties voor Code 128 (encode_mode) |
Code39Options | Coderingsopties voor Code 39 (full_ascii, add_check_digit) |
QrOptions | Coderingsopties voor QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | Coderingsopties voor EAN-13 (allow_check_digit_input) |
Ean8Options | Coderingsopties voor EAN-8 (allow_check_digit_input) |
UpcaOptions | Coderingsopties voor UPC-A (allow_check_digit_input) |
UpceOptions | Coderingsopties voor UPC-E (allow_check_digit_input, number_system) |
RenderOptions | Visuele uitvoercontroles (schaal, DPI, kleuren, tekst) |
EncodeOptions | Basistype voor symbologie-specifieke coderingsopties |
BarcodeError | Basisuitzondering voor de barcodebibliotheek |