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():

SymbologyJenisHelperKelas Options
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()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 kompak
  • CODE_A, CODE_B, CODE_C — batasi ke satu set karakter
  • CODE_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 ke True untuk mengenkode seluruh rentang ASCII 128 karakter menggunakan pasangan shift
  • add_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:

PropertiJenisValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (mengontrol ukuran simbol)
maskint0–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():

PropertiJenisDeskripsi
scalefloatPengali skala seragam
dpiintResolusi untuk output PNG
module_widthfloatLebar satu modul barcode
module_heightfloatTinggi satu modul kode batang
quiet_zonefloatPadding ruang putih di sekitar kode batang
foreground_colorstrWarna hex untuk bilah (mis., "#000000")
background_colorstrWarna hex untuk latar belakang
transparent_backgroundboolLatar belakang transparan untuk PNG
show_textboolTampilkan teks yang dapat dibaca manusia di bawah barcode
font_familystrFont untuk teks yang dapat dibaca manusia
font_sizefloatUkuran 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

FormatMetodeTipe Pengembalian
SVGto_svg()str
PNGto_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:

ExceptionSaat Ditingkatkan
InvalidInputErrorData berisi karakter yang tidak didukung oleh simbol
EncodingErrorPengkodean gagal (mis., data melebihi kapasitas)
SymbologyNotFoundErrorNama simbolologi tidak dikenali diberikan ke generate()
UnsupportedCapabilityErrorFitur 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 SVG
  • to_png(options) — render ke byte PNG
  • render(renderer, options) — render menggunakan implementasi Renderer tertentu
  • symbol — EncodedSymbol yang berisi matriks modul dan metadata
  • profile — SymbologyProfile dengan nilai default dan kemampuan

Ringkasan API Reference

KelasDeskripsi
BarcodeObjek barcode publik dengan to_svg() dan to_png()
Code128OptionsOpsi pengkodean untuk Code 128 (encode_mode)
Code39OptionsOpsi pengkodean untuk Code 39 (full_ascii, add_check_digit)
QrOptionsOpsi pengkodean untuk QR Code (error_correction_level, encoding_mode, version, mask)
Ean13OptionsOpsi pengkodean untuk EAN-13 (allow_check_digit_input)
Ean8OptionsOpsi pengkodean untuk EAN-8 (allow_check_digit_input)
UpcaOptionsOpsi pengkodean untuk UPC-A (allow_check_digit_input)
UpceOptionsOpsi pengkodean untuk UPC-E (allow_check_digit_input, number_system)
RenderOptionsKontrol output visual (skala, DPI, warna, teks)
EncodeOptionsTipe dasar untuk opsi pengkodean khusus simbologi
BarcodeErrorPengecualian dasar untuk perpustakaan barcode

Lihat Juga

 Bahasa Indonesia