Barkod Simbolik Seçimi
Barkod Simbolik Seçimi
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.
Symbology Genel Bakış
| Symbology | Type | Karakter Setleri | Data Kapasitesi | Digit kontrolü |
|---|---|---|---|---|
| Kodu 128 | 1D | Tam ASCII (128 karakter) | değişken uzunluk | Otomatik (mod-103) |
| Kod 39 | 1D | A-Z, 0-9 ve 7 özel karakter (baz); tam ASCII (genişletilmiş) | değişken uzunluk | Optional |
| EAN-13 | 1D | Sadece sayısal (0 – 9) | 12 data digits + 1 check digit | Automatic |
| EAN-8 | 1D | Sadece sayısal (0 – 9) | 7 data digits + 1 check digit | Automatic |
| QR Kodu | 2D | Numerik, alfanumerik ve byte | 7.089 sayı / 4296 alfanumerik | Otomatik (Reed-Solomon) |
| UPC-A | 1D | Sadece sayısal (0 – 9) | 11 data digits + 1 check digit | Automatic |
| UPC-E | 1D | Sadece sayısal (0 – 9) | 6 data digits (compressed UPC-A) | Automatic |
Kodu 128
Kod 128 yüksek yoğunlukta ayarlanan tam ASCII karakterini kodlar. üç karakter setini (A, B, C) kullanır ve aralarında otomatik olarak geçiş yapar. AUTO Moda için.
En iyisi: envanter etiketleri, nakliye etikleri ve genel amaçlı alfanumerik veriler.
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 temel modda üst düzey harfler, rakamlar ve 7 özel karakter destekler. full_ascii=True ASCII aralığının tamamını kodlamak için. seçmeli bir kontrol numarası ekleyebilirsiniz add_check_digit.
En iyisi: endüstri etiketi, hükümet/savaş kimlikleri (LOGMARS) ve basitliği yoğunluktan daha önemli olan ortamlar.
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 Kuzey Amerika dışındaki perakende ürünleri için standart çubuk kodu. tam olarak 12 veri sayısını kodlar; 13. sayı otomatik olarak hesaplanan bir kontrol sayısıdır. Ean13Options Digit giriş davranışını kontrol etmek.
En iyi için: perakende ürün kimliği, uluslararası ticaret öğeleri (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 küçük alet paketlerinde kullanılan kompakt versiyonu olan Ean-13, alanı sınırlı olduğu yerlerde kullanılır. 7 veri sayısını ve 1 kontrol sayısını kodlar.
En iyi: küçük perakende ürünleri, etiket alanı sınırlı olan öğeler.
from aspose_barcode_foss import BarcodeService
service = BarcodeService()
barcode = service.generate("ean8", "9638507")
svg = barcode.to_svg()QR Kodu
QR kodu, küçük bir alanda büyük miktarda veri depolayan 2D matris sembolüdür. QrEncodeMode: NUMERİ, ALPHANUMERI, BYTE ve KANJI. hatayı düzeltmek için yapılandırılabilir QrErrorCorrectionLevel (L, M, Q, H).
En iyisi: URL’ler, mobil uygulamalar, pazarlama materyalleri ve yüksek veri kapasitesi veya ASCII olmayan karakterleri gerektiren herhangi bir kullanım durumudur.
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, Kuzey Amerika’daki perakende ürünleri için standart bir çubuk kodu. 11 veri sayısını artı 1 kontrol sayısı kodlar. U PC- A, önde gelen sıfır ile EAN-13 alt kümesidir.
En İyi: Kuzey Amerika perakende ürün kimliği (GTIN-12).
service = BarcodeService() barcode = service.generate(“upca”, “01234567890”) svg = barcode.to_svg()
---
### UPC-E
UPC-E, küçük perakende ürünler için bir kompres formudur. 6 veri sayısını, tam U PC-A temsilciliğinden sıçrıyı bastırarak kodlar.
En iyisi: küçük perakende öğeleri, kuponlar ve alan sınırlı olduğu etiketler.
service = BarcodeService()
barcode = service.generate("upce", "0123456")
svg = barcode.to_svg()Karar Rehberi
Uygulamanız için doğru simboliyi seçmek için bu tabloyu kullanın:
| Kullanım Olayları | Önerilen simbolizm | Reason |
|---|---|---|
| Depolama Enventörü | Kodu 128 | Tam ASCII, yüksek yoğunluk, değişken uzunluk |
| Etiket / logolar | Kod 39 | Hükümet sistemlerinde yaygın olarak uygulanması |
| Uluslararası Retail | EAN-13 | GTIN-13 standartları |
| Küçük perakende ambalajı | EAN-8 veya UPC-E | Kompakt fiziksel boyut |
| Kuzey Amerika Retail | UPC-A | GTIN-12 standartları |
| URL ve mobil bağlantılar | QR Kodu | Yüksek Kapasite, 2D Tarama |
| Pazarlama ve Baskı | QR Kodu | Telefon kameraları ile tarama yapabilir |
| All-numeric seri sayılar | Kodu 128 (Kodu C) | En yüksek sayısal veri yoğunluğu |
İpuçları ve En İyi Uygulamalar
- Kod 128’yi genel amaçlı etiketler için varsayılan olarak kullanın - 1D sembolleri arasında en iyi yoğunluk- uyumluluk oranı sunar.
- Mağaza ürünleri için, pazardaki talep edilen sembolojiyi kullanın: Uluslararası EAN-13 için UPC-A Kuzey Amerika için
- Setleri
QrErrorCorrectionLevel.H• Kayıp veya kısmi hasara maruz kalan etiketlere yazdırılacak QR kodları için - Kütüphane bilgisayarları, bunları manuel olarak sunmak yerine otomatik olarak kontrol etsin.
- Kullanım
show_text=TrueiçindeRenderOptionsİnsan okunabilir etiketler için, operatörler taranan verileri görsel olarak doğrulayabilir.
ortak sorunlar
| Issue | Cause | Fix |
|---|---|---|
InvalidInputError EAN-13 için | - Veri sayısız karakterler | EAN-13 sadece 0-9 sayısını kabul eder. |
InvalidInputError 39 kodları | Basit modda alt kısımlar | Setleri Code39Options(full_ascii=True) |
| QR kodu çok büyük | Vergi uzunluğu için çok düşük | Kütüphane otomatik seçilmiş versiyonu veya artırın. QrOptions.version |
UPC-E InvalidInputError | Veriler sıfır kaldırma örneğine uymuyor | 6 sayfalık UPC-E biçimini kontrol edin veya yerine UPc-A kullanın. |
FAQ
128 kodunu tüm sayı verileri için kullanabilir miyim?
Evet. kod 128 kodu C modu (Code128EncodeMode.CODE_C) tüm sayı verileri için optimize edilmiştir, maksimum yoğunluk için tek bir sembol karakterinde sayılar çiftlerini kodlamaktadır.
EAN-13 ve UPC-A arasındaki fark nedir?
UPC-A, EAN-13’ün 12 sayfalık bir alt kümesidir.UPC -A kodu, lider sıfır ile bir Ean-13 olarak temsil edilebilir.Onlar perakende tarama sistemlerinde işlevsel olarak uyumludur.
Hangi simbol en çok veri destekliyor?
QR Kodu 7.089 sayı karakterini veya 4296 alfanumerik karakterleri destekler.Bu kütüphanedeki tüm 1D sembolojileri değişken uzunluk verilerini destekliyor, ancak QR Kodunun en yüksek kapasitesi var.
Simboloları tek bir uygulamada karıştırabilir miyim?
Evet, bir tane oluşturun BarcodeService İstek ve Çağrı generate() Her bir çubuk kodu için farklı sembolizm isimleri ile. hizmet her sembolu çözür SymbologyRegistry.
API Referans Özetleri
| Sınıf / Yöntem | Description |
|---|---|
BarcodeService.generate(symbology, data, encode, render) | Herhangi bir kayıtlı simbol için bir çubuk kodu oluşturun |
Code128Options | Kod 128 için kodlama seçenekleri (kodlama modu, GS1, ECI) |
Code128EncodeMode | Enum: AUTO, CODE_A, KODİ_B, SÖZLEŞMELER, B, H, M, Y, G, T, D ve C |
Code39Options | Kod 39 için kodlama seçenekleri (tam ASCII, kontrol sayısı) |
Code39EncodeMode | Yorum: BASE, FULL_ASCII |
Ean13Options | EAN-13 için kodlama seçenekleri (digital giriş kontrolü) |
Ean8Options | EAN-8 için kodlama seçenekleri (digital giriş kontrolü) |
QrOptions | QR Kodu için kodlama seçenekleri (hata düzeltme, versiyon, maske, mod) |
QrEncodeMode | Enum: AUTO, NUMERIC, ALPHANUMERI, BYTE, KANJI |
QrErrorCorrectionLevel | Enum: L, M, Q ve H |
UpcaOptions | UPC-A için kodlama seçenekleri |
UpceOptions | UPC-E için kodlama seçenekleri |
SymbologyRegistry | Simbolik isimleri çözür ve tanımlar sağlar. |