Výběr symbologie čárového kódu
Výběr symbologie čárových kódů
Aspose.BarCode FOSS pro Python podporuje sedm symbologií. Každá je vhodná pro různé typy dat, skenovací prostředí a průmyslové standardy. Tento průvodce popisuje vlastnosti každé symbologie a kdy ji použít.
Přehled symbologií
| Symbology | Typ: | Sada znaků | Kapacita dat | Kontrolní číslice |
|---|---|---|---|---|
| Code 128 | 1D | Plný ASCII (128 znaků) | Proměnná délka | Automatické (mod-103) |
| Code 39 | 1D | A–Z, 0–9 a 7 speciálních znaků (základ); plný ASCII (rozšířený) | Proměnná délka | Optional |
| EAN-13 | 1D | Pouze číselné (0–9) | 12 datových číslic + 1 kontrolní číslice | Automatic |
| EAN-8 | 1D | Pouze číselné (0–9) | 7 datových číslic + 1 kontrolní číslice | Automatic |
| QR Code | 2D | Číselné, alfanumerické, bajtové a Kanji | Až 7,089 číselných / 4,296 alfanumerických | Automatické (Reed-Solomon) |
| UPC-A | 1D | Pouze číselné (0–9) | 11 datových číslic + 1 kontrolní číslice | Automatic |
| UPC-E | 1D | Pouze číselné (0–9) | 6 datových číslic (komprimováno UPC-A) | Automatic |
Code 128
Code 128 kóduje kompletní sadu znaků ASCII s vysokou hustotou. Používá tři znakové sady (A, B, C) a přepíná mezi nimi automaticky v režimu AUTO.
Nejvhodnější pro: inventární štítky, přepravní štítky, obecná alfanumerická 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()Code 39
Code 39 podporuje velká písmena, číslice a 7 speciálních znaků v základním režimu. Aktivujte full_ascii=True pro kódování celého rozsahu ASCII. Volitelnou kontrolní číslici lze přidat pomocí add_check_digit.
Nejvhodnější pro: průmyslové štítky, vládní/vojenské identifikátory (LOGMARS) a prostředí, kde je důležitější jednoduchost než hustota.
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 je standardní čárový kód pro maloobchodní produkty mimo Severní Ameriku. Kóduje přesně 12 datových číslic; 13. číslice je kontrolní číslice vypočítaná automaticky. Použijte Ean13Options pro řízení chování vstupu kontrolní číslice.
Nejvhodnější pro: identifikaci maloobchodních produktů, položky mezinárodního obchodu (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 je kompaktní verze EAN-13, používaná na malých maloobchodních baleních, kde je omezený prostor. Kóduje 7 datových číslic a 1 kontrolní číslici.
Nejvhodnější pro: malé maloobchodní produkty, položky s omezeným prostorem na štítku.
from aspose_barcode_foss import BarcodeService
service = BarcodeService()
barcode = service.generate("ean8", "9638507")
svg = barcode.to_svg()QR Code
QR Code je 2D matice symbologie, která ukládá velké množství dat na malém prostoru. Podporuje čtyři režimy kódování prostřednictvím QrEncodeMode: NUMERIC, ALPHANUMERIC, BYTE a KANJI. Oprava chyb je nastavitelná pomocí QrErrorCorrectionLevel (L, M, Q, H).
Nejvhodnější pro: URL adresy, mobilní aplikace, marketingové materiály a jakýkoli případ použití vyžadující vysokou kapacitu dat nebo ne-ASCII znaky.
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 je standardní čárový kód pro maloobchodní produkty v Severní Americe. Kóduje 11 datových číslic plus 1 kontrolní číslici. UPC-A je podmnožinou EAN-13 s úvodní nulou.
Nejvhodnější pro: identifikaci maloobchodních produktů v Severní Americe (GTIN-12).
from aspose_barcode_foss import BarcodeService
service = BarcodeService()
barcode = service.generate("upca", "01234567890")
svg = barcode.to_svg()UPC-E
UPC-E je komprimovaná forma UPC-A pro malé maloobchodní položky. Kóduje 6 datových číslic potlačením nul z úplné reprezentace UPC-A.
Nejvhodnější pro: malé maloobchodní předměty, kupóny a štítky, kde je místo omezené.
from aspose_barcode_foss import BarcodeService
service = BarcodeService()
barcode = service.generate("upce", "0123456")
svg = barcode.to_svg()Rozhodovací průvodce
Použijte tuto tabulku k výběru správné symbologie pro vaši aplikaci:
| Případ užití | Doporučená symbolika | Reason |
|---|---|---|
| Skladové zásoby | Code 128 | Plný ASCII, vysoká hustota, proměnná délka |
| Vojenské/LOGMARS štítky | Code 39 | Široké přijetí ve vládních systémech |
| Mezinárodní maloobchod | EAN-13 | GTIN-13 standard |
| Malé maloobchodní balení | EAN-8 nebo UPC-E | Kompaktní fyzická velikost |
| Severoamerický maloobchod | UPC-A | GTIN-12 standard |
| URL adresy a mobilní odkazy | QR Code | Vysoká kapacita, 2D skenování |
| Marketing a tisk | QR Code | Skenovatelné telefonními kamerami |
| Číselná sériová čísla | Code 128 (Code C) | Nejvyšší hustota číselných dat |
Tipy a osvědčené postupy
- Použijte Code 128 jako výchozí pro univerzální štítky — nabízí nejlepší poměr hustoty k kompatibilitě mezi 1D symbologiemi
- Pro maloobchodní produkty použijte symbologii požadovanou vaším trhem: EAN-13 pro mezinárodní, UPC-A pro Severní Ameriku
- Nastavte
QrErrorCorrectionLevel.Hpro kódy QR, které budou tištěny na štítcích vystavených opotřebení nebo částečnému poškození - Vždy nechte knihovnu vypočítat kontrolní číslice automaticky místo jejich ručního zadávání
- Použijte
show_text=TruevRenderOptionspro čitelné štítky, aby operátoři mohli vizuálně ověřovat naskenovaná data
Běžné problémy
| Problém | Příčina | Opravit |
|---|---|---|
InvalidInputError na EAN-13 | Nenumerické znaky v datech | EAN-13 přijímá pouze číslice 0–9 |
InvalidInputError na Code 39 | Malá písmena v základním režimu | Nastavit Code39Options(full_ascii=True) |
| QR code je příliš velký | Verze je příliš nízká pro délku dat | Nechte knihovnu automaticky vybrat verzi, nebo zvyšte QrOptions.version |
UPC-E InvalidInputError | Data neodpovídají vzoru potlačení nul | Ověřte 6-místný formát UPC-E nebo použijte UPC-A |
FAQ
Mohu použít Code 128 pro čistě číselná data?
Ano. Code 128 Code C mode (Code128EncodeMode.CODE_C) je optimalizován pro čistě číselná data, kóduje dvojice číslic v jednom symbolu pro maximální hustotu.
Jaký je rozdíl mezi EAN-13 a UPC-A?
UPC-A je 12-ciferná podmnožina EAN-13. Kód UPC-A může být vyjádřen jako EAN-13 s úvodní nulou. Jsou funkčně kompatibilní v maloobchodních skenovacích systémech.
Která symbologie podporuje nejvíce dat?
QR Code podporuje až 7089 číselných znaků nebo 4296 alfanumerických znaků. Všechny 1D symbologie v této knihovně podporují data proměnné délky, ale QR Code má nejvyšší kapacitu.
Mohu v jedné aplikaci kombinovat symbologie?
Ano. Vytvořte jednu instanci BarcodeService a zavolejte generate() s různými názvy symbologií pro každý čárový kód. Služba rozpozná každou symbologii pomocí SymbologyRegistry.
API Reference Shrnutí
| Třída / Metoda | Popis: |
|---|---|
BarcodeService.generate(symbology, data, encode, render) | Vygenerujte čárový kód pro libovolnou registrovanou symbologii |
Code128Options | Možnosti kódování pro Code 128 (režim kódování, GS1, ECI) |
Code128EncodeMode | Enum: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC |
Code39Options | Možnosti kódování pro Code 39 (plné ASCII, kontrolní číslice) |
Code39EncodeMode | Enum: BASE, FULL_ASCII |
Ean13Options | Možnosti kódování pro EAN-13 (vstup kontrolní číslice) |
Ean8Options | Možnosti kódování pro EAN-8 (vstup kontrolní číslice) |
QrOptions | Možnosti kódování pro QR Code (oprava chyb, verze, maska, režim) |
QrEncodeMode | Výčet: AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
QrErrorCorrectionLevel | Výčet: L, M, Q, H |
UpcaOptions | Možnosti kódování pro UPC-A |
UpceOptions | Možnosti kódování pro UPC-E |
SymbologyRegistry | Řeší názvy symboliky a poskytuje definice |