Introduction
Aspose.BarCode FOSS for Python provides per-symbology option classes that control encoding behavior across all seven supported barcode formats. Each option class inherits from EncodeOptions ve simbololojisine özel özellikler eklemektedir: Kod 128 kodlama modları, Kod 39 ASCII seçimi, QR hatası düzeltme seviyeleri ve EAN/UPC kontrol sayısı işleme.
Bu yazı her seçenek sınıfı, özellikleri ve çalışma kodu örneklerini kapsamaktadır. tüm sınıflar üst düzeyde mevcuttur aspose_barcode_foss paket için.
Ana Özellikler
128 Kodlama Modları
Code128Options 128 karakter kodun hangi kontrolü kullanır. encode_mode Mülkiyet A’yı kabul eder Code128EncodeMode Enum değerleri : AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC,veya CODE_BC.AUTO en kompakt kodlama otomatik olarak seçilir. CODE_C sadece dijital veriler için optimize edilir (bir tek kod noktası olarak kodlanmış sayı çiftleri).
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = bc.to_svg()
128 kod da destekliyor. gs1_enabled ve eci_assignment_number Miraslı mülkler EncodeOptions GS1 ve ECI metadata için.
39 Kodlama
Code39Options kodlayıcının temel 43 karakter setini veya tam ASCII uzantısını kullanıp kullanmadığını kontrol eder. full_ascii=True Full ASCII modunu etkinleştirmek için, tam 128 karakterli AS CII aralığını değiştirme çiftleri kullanarak kodlayın. add_check_digit Modulo-43 kontrol numarası ile ilgili bir soru var.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = bc.to_svg()
QR Kodu Kurulumu
QrOptions Tüm simgeler arasında en çok yapılandırma sunar:
error_correction_level:QrErrorCorrectionLevel.L%7 % ,.M%15 İle İlgili Yazılar,.Q%25 İle İlgili Yazılar,.H%30 (yüzde 30 )encoding_mode:QrEncodeMode.AUTO,.NUMERIC,.ALPHANUMERIC,.BYTE,.KANJIversion: QR versiyonu (1–40), simge boyutunu kontrol edermask: maske desenleri (0-7) manuel seçim için
import aspose_barcode_foss as barcode
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,
),
)
png_bytes = bc.to_png()
EAN ve UPC kontrol numarasını kullanır.
Ean13Options, Ean8Options, UpcaOptions,ve UpceOptions Her birinin bir allow_check_digit_input varlık. varsayılan olarak, kütüphane veri kontrol sayısını otomatik olarak hesaplar. allow_check_digit_input=True Eğer verileriniz zaten kontrol numarasını içeriyorsa.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
svg = bc.to_svg()
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)
Rendering Seçenekleri
RenderOptions Tüm simgelere uygulanır ve görsel çıkış kontrol eder. to_svg() veya to_png():
| Property | Type | Description |
|---|---|---|
scale | float | Tek ölçekli multiplier |
dpi | int | PNG üretimi için çözüm |
module_width | float | Bir barkod modülü genişliği |
module_height | float | Bir barkod modülü yüksekliği |
quiet_zone | float | Whiteespace barkodun etrafında kaydırma |
foreground_color | str | Barlar için hex renk (örneğin,., "#000000") |
background_color | str | Hex renk arka plan için |
transparent_background | bool | PNG için şeffaf arka plan |
show_text | bool | Barkod altında insan okunabilir metin göster |
font_family | str | İnsan okunabilir metin için yazı tipi |
font_size | float | İnsan okunabilir metin için yazı tipi boyutu |
import aspose_barcode_foss as barcode
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,
font_family="Courier New",
))
Hata Yönetimi
Eğer geçersiz veriler veya uyumsuz seçenekler sağlanırsa, kütüphane herhangi bir kodlama başlamadan önce yazılı bir istisna çıkarır:
InvalidInputError- Bilgiler, simbololojiden desteklemediği karakterler içerir.EncodingError- kodlama eksikliği (örneğin, veri kapasitesini aşar)SymbologyNotFoundError- tanımlanmamış simbol adı geçmiştirgenerate()UnsupportedCapabilityError- Bu sembol için kullanılamaz talep edilen özellikler
Tüm sınıflar, her türlü BarcodeError.
Hızlı Başlangıç
pip install aspose-barcode-foss
Çeşitli kod seçenekleri ile çubuk kodları oluşturun ve onları kaydedin:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import (
Code128Options, Code128EncodeMode,
QrOptions, QrErrorCorrectionLevel,
RenderOptions,
)
# Code 128 in CODE_C mode (compact digit encoding)
c128 = barcode.code128(
"9876543210",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
with open("code128.svg", "w") as f:
f.write(c128.to_svg())
# QR with high error correction
qr = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
with open("qr.png", "wb") as f:
f.write(qr.to_png(options=RenderOptions(scale=4.0)))
# EAN-13 with custom colors
ean = barcode.ean13("590123412345")
with open("ean13.svg", "w") as f:
f.write(ean.to_svg(options=RenderOptions(
foreground_color="#003366",
show_text=True,
)))
Desteklenen Formatlar
| Symbology | Type | Opsiyon Sınıfı | Anahtar Mülkiyetler |
|---|---|---|---|
| Kodu 128 | 1D | Code128Options | encode_mode |
| Kod 39 | 1D | Code39Options | full_ascii, add_check_digit |
| EAN-13 | 1D | Ean13Options | allow_check_digit_input |
| EAN-8 | 1D | Ean8Options | allow_check_digit_input |
| QR Kodu | 2D | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | 1D | UpcaOptions | allow_check_digit_input |
| UPC-E | 1D | UpceOptions | allow_check_digit_input |
çıkış biçimleri :
| Format | Extension | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
Açık Kaynak & Lisans
Aspose.BarCode FOSS for Python is MIT licensed. The source is available on GitHub Paketimizden kurulmuştur. PyPI ile pip install aspose-barcode-foss.Hiçbir yerli bağımlılık, telemetri, kullanım sınırları yok.