Välj en barkodsymbol
Välj en barkodsymbol
Aspose.BarCode FOSS for Python supports seven symbologies. Each is suited to different data types, scanning environments, and industry standards. This guide covers the characteristics of each symbology and when to use it.
Symboliska översikt
| Symbology | Typ av | Karaktär Set | Datakapacitet | Kontrollera dig |
|---|---|---|---|---|
| Kod 128 | 1D | Full ASCII (128 tecken) | Varierande längd | Automatisk (mod-103) |
| Kod 39 | 1D | A–Z, 0–9, och 7 särskilda tecken (bas); full ASCII (utvidgad) | Varierande längd | Optional |
| EAN-13 | 1D | Numerisk endast (0–9) | 12 data digits + 1 check digit | Automatic |
| EAN-8 | 1D | Numerisk endast (0–9) | 7 data digits + 1 check digit | Automatic |
| QR koder | 2D | Numerisk, alfanumerisk och byte | Upp till 7 089 numeriska / 4 296 alphanumeriska | Automatisk (Reed-Solomon) och |
| UPC-A | 1D | Numerisk endast (0–9) | 11 data digits + 1 check digit | Automatic |
| UPC-E | 1D | Numerisk endast (0–9) | 6 data digits (compressed UPC-A) | Automatic |
Kod 128
Koden 128 kodar den fullständiga ASCII-karaktären som har hög densitet. Den använder tre teckensatser (A, B, C) och växlar mellan dem automatiskt i AUTO Moden är.
Bästa för: inventarietiketter, fraktetikett, allmänna alfanumeriska data.
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Code128Options, Code128EncodeMode
service = BarcodeService()
# Auto mode — library selects optimal character sets
barcode = service.generate("code128", "INV-2026-00451")
# Force Code C for all-numeric data (higher density)
barcode = service.generate(
"code128", "123456789012",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = barcode.to_svg()Kod 39
Kod 39 stöder topp bokstäver, siffror och 7 speciella tecken i basläge. full_ascii=True för att kryptera hela ASCII-området.En valfri checkdikt kan läggas till via add_check_digit.
Bästa för: industriella etiketter, regering/militär identifierare (LOGMARS) och miljöer där enkelhet är viktigare än densitet.
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Code39Options
service = BarcodeService()
# Base mode — uppercase + digits + special chars
barcode = service.generate("code39", "PART-A1234")
# Full ASCII mode with check digit
barcode = service.generate(
"code39", "Part-a1234",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = barcode.to_svg()EAN-13
EAN-13 är standardflikkoden för detaljhandelsprodukter utanför Nordamerika. det kodar exakt 12 data siffror; den 13: e siffer är en check sift som beräknas automatiskt. Ean13Options Kontrollera digitala input beteenden.
Bästa för: detaljproduktidentifiering, internationella handelsvaror (GTIN-13).
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Ean13Options
service = BarcodeService()
# 12 data digits — check digit computed
barcode = service.generate("ean13", "590123412345")
# With rendering options for human-readable text
from aspose_barcode_foss import RenderOptions
svg = barcode.to_svg(RenderOptions(show_text=True, scale=2.0))EAN-8
EAN-8 är den kompakta versionen av Ean-13, som används på små detaljhandelsförpackningar där utrymmet är begränsat. Det kodar 7 data siffror plus 1 check-siffra.
Bästa för: små detaljhandelsprodukter, föremål med begränsad etikettutrymme.
from aspose_barcode_foss import BarcodeService
service = BarcodeService()
barcode = service.generate("ean8", "9638507")
svg = barcode.to_svg()QR koder
QR Code är en 2D-matrix symbologi som lagrar stora mängder data i ett litet område. det stöder fyra kodningslägen via QrEncodeMode: NUMERIC, ALPHANUMERI, BYTE och KANJI. felkorrigering kan konfigureras genom QrErrorCorrectionLevel (L, M, Q, H).
Bästa för: URL, mobila applikationer, marknadsföringsmaterial och alla användningsområden som kräver hög datakapacitet eller icke-ASCII tecken.
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
service = BarcodeService()
# Default settings
barcode = service.generate("qrcode", "https://example.com")
# High error correction for printed labels
barcode = service.generate(
"qrcode", "https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.H,
encoding_mode=QrEncodeMode.BYTE,
),
)
png = barcode.to_png()UPC-A
UPC-A är standardbarkoden för detaljhandelsprodukter i Nordamerika. Det kodar 11 data siffror plus 1 checkdator. U PC-a är en underordning av EAN-13 med ett ledande noll.
Bästa för: Nordamerikanska detaljhandelsproduktidentifiering (GTIN-12).
service = BarcodeService() barcode = service.generate(“upca”, “01234567890”) svg = barcode.to_svg()
---
### UPC-E
UPC-E är en komprimerad form av U PC-A för små detaljhandlar. Det kodar 6 data siffror genom att undertrycka zer från den fullständiga representationen av uPC.
Bästa för: små detaljhandelsartiklar, kuponger och etiketter där utrymmet är begränsat.
service = BarcodeService()
barcode = service.generate("upce", "0123456")
svg = barcode.to_svg()Beslutguide
Använd den här tabellen för att välja rätt symbol för din ansökan:
| Används av fallet | Rekommenderad symbologi | Reason |
|---|---|---|
| lagerinventering | Kod 128 | Full ASCII, hög densitet, variabel längd |
| Militär/LOGMARS etiketter | Kod 39 | Stora antaganden i regeringssystem |
| Internationella detaljhandeln | EAN-13 | GTIN-13 standard |
| Små detaljförpackningar | EAN-8 eller UPC-E | Kompakt fysisk storlek |
| Nordamerikanska detaljhandeln | UPC-A | GTIN-12 standard |
| URL och mobila länkar | QR koder | Hög kapacitet, 2D-skanning |
| Marketing och printing | QR koder | Skannbar med telefonkameror |
| Allnumeriska serienummer | Koden 128 (Kod C) | Högsta densitet för numeriska data |
Tips och bästa praxis
- Använd kod 128 som standard för allmänna etiketter – det erbjuder den bästa densitets-till-kompatibilitetssatsen bland 1D symboler.
- För detaljhandelsprodukter, använd den symbol som krävs av din marknad: EAN-13 för internationell, UPC-A för Nordamerika
- Setade
QrErrorCorrectionLevel.Hför QR-koder som kommer att skrivas ut på etiketter som utsätts för nedbrytning eller partiell skada - Låt alltid databasen kontrollera siffrorna automatiskt istället för att leverera dem manuellt.
- Användning
show_text=TrueiRenderOptionsför mänskligt läsbara etiketter så att operatörer kan verifiera scannade data visuellt
Vanliga frågor
| Issue | Cause | Fixar |
|---|---|---|
InvalidInputError på EAN-13 | icke-numrerade tecken i data | EAN-13 accepterar endast siffror 0–9 |
InvalidInputError i koden 39 | Lowercase bokstäver i basläge | Setade Code39Options(full_ascii=True) |
| QR-koder för stora | För låga versioner för data längd | Låt biblioteket självvalda versionen eller öka QrOptions.version |
UPC-E InvalidInputError | Data matchar inte nollstängningsmodellen | Kontrollera 6-digit UPC-E formatet eller använd istället UPc-A. |
FAQ
Kan jag använda kod 128 för allnumrerade data?
Koden 128 kod C-läge (Code128EncodeMode.CODE_C) är optimerad för allnumeriska data, kodning par av siffror i en enda symbol karaktär för maximal densitet.
Vad är skillnaden mellan EAN-13 och UPC-A?
UPC-A är en 12-digit subset av EAN-13. En U PC-a kod kan representeras som en Ean-13 med ett ledande noll. De är funktionellt kompatibla i detaljhandelsskanningssystem.
Vilken symbol stödjer de flesta data?
QR-koden stöder upp till 7 089 numeriska tecken eller 4 296 alfanumeriska karaktärer. Alla 1D-symboler i denna bibliotek stödar variabel längddata, men QR Code har den högsta kapaciteten.
Kan jag blanda symboler i en enda applikation?
Ja, skapa en BarcodeService Instans och kallelse generate() med olika symboliska namn för varje barkod. tjänsten löser varje symbol genom SymbologyRegistry.
API Referens sammanfattning
| Klass / Metod | Beskrivning |
|---|---|
BarcodeService.generate(symbology, data, encode, render) | Generera en barkod för någon registrerad symbolik |
Code128Options | Kodningsalternativ för Code 128 (kodläge, GS1, ECI) |
Code128EncodeMode | Enum: AUTO, CODE_A, KOD_B, SCHRÄDELANDE, FÖRSTÖKNINGAR, HÄRAN, B, D, R, E, M, V |
Code39Options | Koda 39 (full ASCII, check digit) |
Code39EncodeMode | Enum: BASE, FULL_ASCII och |
Ean13Options | Kodningsalternativ för EAN-13 (check digitala input) |
Ean8Options | Kodningsalternativ för EAN-8 (check digitala input) |
QrOptions | Kodning alternativ för QR Code (fel korrigering, version, mask, läge) |
QrEncodeMode | Enum: AUTO, numerisk, alfabetik, BYTE, KANJI |
QrErrorCorrectionLevel | Enum: L, M, Q och H |
UpcaOptions | Koda alternativ för UPC-A |
UpceOptions | Koda alternativ för UPC-E |
SymbologyRegistry | Lös symboliska namn och ger definitioner |