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-fossdibangun 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
| Symbology | Kelas Opsi | Properti Kunci |
|---|---|---|
| Code 128 | Code128Options | encode_mode |
| Code 39 | Code39Options | full_ascii, add_check_digit |
| EAN-13 | Ean13Options | allow_check_digit_input |
| EAN-8 | Ean8Options | allow_check_digit_input |
| QR Code | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | UpcaOptions | allow_check_digit_input |
| UPC-E | UpceOptions | number_system, allow_check_digit_input |