Fitur dan Fungsionalitas
Fitur dan Fungsionalitas
Aspose.BarCode FOSS untuk Python menyediakan API tingkat tinggi untuk menghasilkan tujuh simbologi barcode dengan opsi enkode per-simbologi dan kontrol rendering. Halaman ini merupakan referensi utama untuk semua area fitur.
Simbologi yang Didukung
Pustaka ini mendukung tujuh simbologi melalui fungsi pembantu khusus dan titik masuk generik generate():
| Symbology | Jenis | Helper | Kelas Options |
|---|---|---|---|
| Code 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR Code | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |
import aspose_barcode_foss as barcode
# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
# Generic API
bc_gen = barcode.generate("ean13", "590123412345")Mode Enkode Code 128
Code128Options mengontrol set karakter Code 128 mana yang digunakan enkoder. Properti encode_mode menerima nilai enum Code128EncodeMode:
AUTO— secara otomatis memilih enkoding paling kompakCODE_A,CODE_B,CODE_C— batasi ke satu set karakterCODE_AB,CODE_AC,CODE_BC— izinkan beralih antara dua set karakter
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Enkoding Code 39
Code39Options mengontrol apakah encoder menggunakan set karakter dasar 43 atau ekstensi Full ASCII:
full_ascii— setel keTrueuntuk mengenkode seluruh rentang ASCII 128 karakter menggunakan pasangan shiftadd_check_digit— menambahkan digit cek modulo-43
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)Konfigurasi QR Code
QrOptions menyediakan konfigurasi paling banyak di antara semua simbolologi:
| Properti | Jenis | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7%), M (15%), Q (25%), H (30%) |
encoding_mode | QrEncodeMode | AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
version | int | 1–40 (mengontrol ukuran simbol) |
mask | int | 0–7 (pemilihan pola mask manual) |
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,
),
)Digit Pemeriksaan EAN dan UPC
Ean13Options, Ean8Options, UpcaOptions, dan UpceOptions masing-masing memiliki properti allow_check_digit_input. Secara default, perpustakaan menghitung digit pemeriksaan secara otomatis. Atur allow_check_digit_input=True jika data Anda sudah menyertakannya.
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)Kontrol Rendering
RenderOptions berlaku untuk semua simbolologi dan mengontrol output visual. Lewatkan ke to_svg() atau to_png():
| Properti | Jenis | Deskripsi |
|---|---|---|
scale | float | Pengali skala seragam |
dpi | int | Resolusi untuk output PNG |
module_width | float | Lebar satu modul barcode |
module_height | float | Tinggi satu modul kode batang |
quiet_zone | float | Padding ruang putih di sekitar kode batang |
foreground_color | str | Warna hex untuk bilah (mis., "#000000") |
background_color | str | Warna hex untuk latar belakang |
transparent_background | bool | Latar belakang transparan untuk PNG |
show_text | bool | Tampilkan teks yang dapat dibaca manusia di bawah barcode |
font_family | str | Font untuk teks yang dapat dibaca manusia |
font_size | float | Ukuran font untuk teks yang dapat dibaca manusia |
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,
))Format Output
| Format | Metode | Tipe Pengembalian |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
Kedua metode menerima parameter RenderOptions opsional.
Penanganan Kesalahan
Semua validasi opsi enkode terjadi pada waktu parsing. Perpustakaan mengeluarkan pengecualian bertipe sebelum proses enkode dimulai:
| Exception | Saat Ditingkatkan |
|---|---|
InvalidInputError | Data berisi karakter yang tidak didukung oleh simbol |
EncodingError | Pengkodean gagal (mis., data melebihi kapasitas) |
SymbologyNotFoundError | Nama simbolologi tidak dikenali diberikan ke generate() |
UnsupportedCapabilityError | Fitur yang diminta tidak tersedia untuk simbolologi ini |
Semua kelas pengecualian mewarisi dari BarcodeError.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")Validasi Input
Setiap simbologi memiliki InputParser khusus yang memvalidasi data sebelum pengkodean. Parser memeriksa set karakter, panjang, dan persyaratan format yang spesifik untuk setiap simbologi. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser, dan UpceInputParser digunakan secara internal oleh fungsi pembantu masing-masing.
Objek Barcode
Objek Barcode yang dikembalikan oleh semua fungsi pembantu menyediakan:
to_svg(options)— render ke string SVGto_png(options)— render ke byte PNGrender(renderer, options)— render menggunakan implementasiRenderertertentusymbol—EncodedSymbolyang berisi matriks modul dan metadataprofile—SymbologyProfiledengan nilai default dan kemampuan
Ringkasan API Reference
| Kelas | Deskripsi |
|---|---|
Barcode | Objek barcode publik dengan to_svg() dan to_png() |
Code128Options | Opsi pengkodean untuk Code 128 (encode_mode) |
Code39Options | Opsi pengkodean untuk Code 39 (full_ascii, add_check_digit) |
QrOptions | Opsi pengkodean untuk QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | Opsi pengkodean untuk EAN-13 (allow_check_digit_input) |
Ean8Options | Opsi pengkodean untuk EAN-8 (allow_check_digit_input) |
UpcaOptions | Opsi pengkodean untuk UPC-A (allow_check_digit_input) |
UpceOptions | Opsi pengkodean untuk UPC-E (allow_check_digit_input, number_system) |
RenderOptions | Kontrol output visual (skala, DPI, warna, teks) |
EncodeOptions | Tipe dasar untuk opsi pengkodean khusus simbologi |
BarcodeError | Pengecualian dasar untuk perpustakaan barcode |