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

FormatEkstensiBacaTulis
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.


Memulai

Sumber Daya Terkait