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, .KANJI
  • version: QR versiyonu (1–40), simge boyutunu kontrol eder
  • mask: 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():

PropertyTypeDescription
scalefloatTek ölçekli multiplier
dpiintPNG üretimi için çözüm
module_widthfloatBir barkod modülü genişliği
module_heightfloatBir barkod modülü yüksekliği
quiet_zonefloatWhiteespace barkodun etrafında kaydırma
foreground_colorstrBarlar için hex renk (örneğin,., "#000000")
background_colorstrHex renk arka plan için
transparent_backgroundboolPNG için şeffaf arka plan
show_textboolBarkod altında insan okunabilir metin göster
font_familystrİnsan okunabilir metin için yazı tipi
font_sizefloatİ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ştir generate()
  • 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

SymbologyTypeOpsiyon SınıfıAnahtar Mülkiyetler
Kodu 1281DCode128Optionsencode_mode
Kod 391DCode39Optionsfull_ascii, add_check_digit
EAN-131DEan13Optionsallow_check_digit_input
EAN-81DEan8Optionsallow_check_digit_input
QR Kodu2DQrOptionserror_correction_level, encoding_mode, version, mask
UPC-A1DUpcaOptionsallow_check_digit_input
UPC-E1DUpceOptionsallow_check_digit_input

çıkış biçimleri :

FormatExtensionExport
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.


Başlamaya başlar

İlgili Kaynaklar