Cara Mengonfigurasi Opsi Encode di Aspose.BarCode FOSS

Cara Mengonfigurasi Opsi Encode di Aspose.BarCode FOSS

Problem

Setiap simbologi barcode memiliki aturan pengkodeannya sendiri — tingkat koreksi kesalahan untuk QR Code, mode encode untuk Code 128, penanganan digit cek untuk EAN/UPC. Aspose.BarCode FOSS untuk Python menyediakan kelas opsi khusus per simbologi sehingga Anda dapat mengontrol parameter ini pada saat pembuatan.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
svg = bc.to_svg()

Prasyarat

  • Python 3.12 atau lebih baru
  • Manajer paket pip
  • aspose-barcode-foss dibangun dari sumber

Opsi QR Code

Kelas QrOptions mengontrol enkoding QR Code. Atur error_correction_level ke salah satu QrErrorCorrectionLevel.L, M, Q, atau H. Level yang lebih tinggi meningkatkan redundansi dengan mengorbankan ukuran simbol yang lebih besar. Gunakan encoding_mode untuk memilih mode data QR tertentu (QrEncodeMode.NUMERIC, ALPHANUMERIC, BYTE, atau KANJI), atau biarkan sebagai AUTO untuk pemilihan otomatis. Properti version (1–40) mengontrol ukuran simbol, dan mask (0–7) menggantikan pola topeng.

from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode

options = QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H,
    encoding_mode=QrEncodeMode.BYTE,
    version=5,
)
bc = barcode.qr("DATA", encode=options)

Opsi Code 128

Kelas Code128Options menampilkan encode_mode dengan nilai dari Code128EncodeMode: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC. Dalam mode AUTO encoder memilih representasi terpendek. Membatasi ke subset tertentu (misalnya CODE_C untuk data hanya numerik) dapat mengurangi lebar simbol.

from aspose_barcode_foss import Code128Options, Code128EncodeMode

options = Code128Options(encode_mode=Code128EncodeMode.CODE_C)
bc = barcode.code128("123456", encode=options)

Opsi Code 39

Kelas Code39Options memiliki dua properti utama: full_ascii mengaktifkan enkoding Full ASCII (set karakter yang diperluas di luar huruf kapital dan angka), dan add_check_digit menambahkan digit pemeriksaan modulo-43 ke simbol.

from aspose_barcode_foss import Code39Options

options = Code39Options(full_ascii=True, add_check_digit=True)
bc = barcode.code39("Hello", encode=options)

Opsi Digit Pemeriksa EAN dan UPC

Ean13Options, Ean8Options, UpcaOptions, dan UpceOptions semuanya mendukung allow_check_digit_input. Secara default, perpustakaan menghitung digit pemeriksa secara otomatis — cukup berikan hanya digit payload (12 untuk EAN-13, 7 untuk EAN-8, 11 untuk UPC-A). Atur allow_check_digit_input=True untuk menyertakan digit pemeriksa yang sudah dihitung sebelumnya sebagai bagian dari input.

from aspose_barcode_foss import Ean13Options

# Auto-compute check digit (12 digits)
bc = barcode.ean13("590123412345")

# Pre-computed check digit (13 digits)
bc = barcode.ean13(
    "5901234123457",
    encode=Ean13Options(allow_check_digit_input=True),
)

UPC-E Sistem Angka

UpceOptions menambahkan properti number_system. Kode batang UPC-E menggunakan sistem angka “0” atau “1”. Atur properti ini untuk mengontrol prefiks sistem angka mana yang digunakan enkoder.

from aspose_barcode_foss import UpceOptions

options = UpceOptions(number_system="0", allow_check_digit_input=False)
bc = barcode.upce("012345", encode=options)

Ringkasan Opsi

SymbologyKelas OpsiProperti Kunci
Code 128Code128Optionsencode_mode
Code 39Code39Optionsfull_ascii, add_check_digit
EAN-13Ean13Optionsallow_check_digit_input
EAN-8Ean8Optionsallow_check_digit_input
QR CodeQrOptionserror_correction_level, encoding_mode, version, mask
UPC-AUpcaOptionsallow_check_digit_input
UPC-EUpceOptionsnumber_system, allow_check_digit_input

Lihat Juga

 Bahasa Indonesia