Pendahuluan
Aspose.BarCode FOSS untuk Python menghasilkan kode batang dalam tujuh simbolologi dan merendernya ke SVG dan PNG. Posting ini berfokus pada pipeline rendering — cara mengontrol format output, dimensi, warna, dan teks yang dapat dibaca manusia menggunakan RenderOptions, SvgRenderer, dan PngRenderer.
Pustaka ini tersedia di PyPI sebagai aspose-barcode-foss, dirilis di bawah lisensi MIT tanpa dependensi native. Setiap objek kode batang menyediakan metode kemudahan to_svg() dan to_png(), serta metode render() tingkat lebih rendah yang menerima implementasi Renderer apa pun.
Fitur Utama
Output SVG dengan SvgRenderer
SvgRenderer menghasilkan markup SVG yang independen resolusi. Metode Barcode.to_svg() adalah pintasan yang menggunakan SvgRenderer secara internal.
from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import SvgRenderer
service = BarcodeService()
barcode = service.generate("code128", "RENDER-TEST-001")
# Direct convenience method
svg_string = barcode.to_svg(RenderOptions(scale=2.0))
# Explicit renderer usage
renderer = SvgRenderer()
result = barcode.render(renderer, RenderOptions(scale=2.0, show_text=True))
Output PNG dengan PngRenderer
PngRenderer menghasilkan gambar raster PNG. Kendalikan resolusi dengan properti dpi pada RenderOptions. Metode Barcode.to_png() adalah pintasan yang nyaman.
from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import PngRenderer
service = BarcodeService()
barcode = service.generate("ean13", "590123412345")
# Convenience method — returns bytes
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))
with open("barcode.png", "wb") as f:
f.write(png_bytes)
Mengontrol Skala dan DPI
RenderOptions menyediakan scale (pengganda untuk dimensi modul) dan dpi (dot per inci untuk output raster). Kedua ini bekerja bersama: scale memengaruhi ukuran logis batang dan spasi, sementara dpi mengendalikan kepadatan piksel pada output PNG.
from aspose_barcode_foss import RenderOptions
# High-resolution print label
print_options = RenderOptions(scale=4.0, dpi=600)
# Screen display
screen_options = RenderOptions(scale=1.0, dpi=96)
Warna dan Latar Belakang
Atur foreground_color dan background_color sebagai string warna CSS. Aktifkan transparent_background untuk menghilangkan pengisian latar belakang (berguna untuk menimpakan pada desain yang ada).
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
barcode = service.generate("qrcode", "https://example.com")
options = RenderOptions(
foreground_color="#003366",
background_color="#FFFFFF",
scale=3.0,
)
svg = barcode.to_svg(options)
Kontrol Zona Hening
Properti quiet_zone menentukan margin kosong di sekitar kode batang dalam satuan lebar modul. Sebagian besar standar kode batang memerlukan zona hening minimum untuk pemindaian yang dapat diandalkan.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
barcode = service.generate("code39", "QUIET-ZONE")
# Wider quiet zone for print use
options = RenderOptions(quiet_zone=10.0, scale=2.0)
svg = barcode.to_svg(options)
Teks yang Dapat Dibaca Manusia
Atur show_text=True untuk menampilkan data yang terenkode di bawah kode batang. Properti font_family dan font_size mengontrol tampilan teks.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
barcode = service.generate("upca", "01234567890")
options = RenderOptions(
show_text=True,
font_family="monospace",
font_size=12.0,
scale=2.5,
)
svg = barcode.to_svg(options)
Mulai Cepat
asposefoss/barcode is not yet published — build from source until it ships. See the project README for build instructions.from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Generate a Code 128 barcode
barcode = service.generate("code128", "HELLO-2026")
# Render to SVG with custom options
options = RenderOptions(
scale=2.0,
show_text=True,
foreground_color="#000000",
background_color="#FFFFFF",
quiet_zone=4.0,
)
svg_output = barcode.to_svg(options)
with open("hello.svg", "w") as f:
f.write(svg_output)
# Render to PNG at 300 DPI
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))
with open("hello.png", "wb") as f:
f.write(png_bytes)
Format yang Didukung
| Format | Ekstensi | Baca | Tulis |
|---|---|---|---|
| SVG | .svg | — | ✓ |
| PNG | .png | — | ✓ |
Catatan: PdfRenderer ada di API tetapi menyebabkan NotImplementedError pada rilis saat ini.
Sumber Terbuka & Lisensi
Aspose.BarCode FOSS untuk Python dirilis di bawah Lisensi MIT. Kode sumber dihosting di GitHub. Anda dapat menggunakan, memodifikasi, dan mendistribusikan perpustakaan ini dalam proyek sumber terbuka maupun komersial.