Cara Menghasilkan Barcode dengan Aspose.BarCode FOSS
Problem
Hasilkan barcode 1D dan 2D dari string data menggunakan Aspose.BarCode FOSS untuk Python. Pustaka menyediakan fungsi pembantu per-simbol (code128(), qr(), ean13(), dll.) dan fungsi generik generate() yang menerima string nama simbol.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()Prasyarat
- Python 3.12 atau lebih baru
- manajer paket pip
aspose-barcode-fossdibangun dari sumber
Menggunakan Pembantu Per-Simbol
Setiap simbol yang didukung memiliki fungsi pembantu khusus yang mengembalikan objek Barcode. Pembantu tersebut memvalidasi input dan secara otomatis memilih enkoder yang tepat.
import aspose_barcode_foss as barcode
# 1D barcodes
bc_128 = barcode.code128("ABC-123")
bc_39 = barcode.code39("HELLO")
bc_ean13 = barcode.ean13("590123412345")
bc_ean8 = barcode.ean8("1234567")
bc_upca = barcode.upca("01234567890")
bc_upce = barcode.upce("012345")
# 2D barcode
bc_qr = barcode.qr("https://example.com")Menggunakan Fungsi Generate Generik
Fungsi generate() menerima string nama simbol sebagai argumen pertama. Ini berguna ketika simbol ditentukan pada saat runtime.
import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Dynamic data")
svg = bc.to_svg()
# Also works with other symbology names
bc_qr = barcode.generate("qr", "https://example.com")
bc_ean = barcode.generate("ean13", "590123412345")Menggabungkan Generasi dengan Opsi Encode
Berikan parameter encode untuk mengendalikan opsi khusus simbol selama generasi.
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.Q),
)
svg = bc.to_svg()Membaca Simbol yang Di-Encode
Objek Barcode mengekspos properti symbol berjenis EncodedSymbol, yang berisi matrix (sebuah ModuleMatrix dengan grid modul) dan metadata (sebuah SymbolMetadata dengan nama simbol, teks tampilan, dan data yang dinormalisasi).
import aspose_barcode_foss as barcode
bc = barcode.code128("Test")
symbol = bc.symbol
# Access the module matrix
print(f"Width: {symbol.matrix.width}")
print(f"Height: {symbol.matrix.height}")
# Access symbol metadata
print(f"Symbology: {symbol.metadata.symbology}")
print(f"Display text: {symbol.metadata.display_text}")Menyimpan Output
Setelah menghasilkan Barcode, panggil to_svg() untuk string SVG atau to_png() untuk byte PNG. Tulis hasilnya ke sebuah file.
import aspose_barcode_foss as barcode
bc = barcode.code128("SAVE-ME")
# Save as SVG
with open("barcode.svg", "w") as f:
f.write(bc.to_svg())
# Save as PNG
with open("barcode.png", "wb") as f:
f.write(bc.to_png())Simbolik yang Didukung
| Symbology | Jenis | Fungsi Pembantu | Kelas Opsi |
|---|---|---|---|
| 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 |