چگونه بارکدها را با Aspose.BarCode FOSS رندر کنیم
Problem
پس از تولید یک بارکد، باید آن را بهصورت یک فایل تصویر رندر کنید. Aspose.BarCode FOSS برای Python بارکدها را به فرمتهای SVG و PNG از طریق متدهای to_svg() و to_png() روی شیء Barcode رندر میکند. کلاس RenderOptions ویژگیهای بصری مانند مقیاس، DPI، رنگها، quiet zone و نمایش متن قابل خواندن برای انسان را کنترل میکند.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.code128("RENDER-ME")
png = bc.to_png(options=RenderOptions(scale=2.0, dpi=300))پیشنیازها
- Python 3.12 یا بالاتر
- مدیر بسته pip
aspose-barcode-fossساخته شده از منبع
خروجی SVG
برای دریافت بارکد به صورت رشته SVG، to_svg() را فراخوانی کنید. خروجی SVG بر پایهٔ برداری است و بدون کاهش کیفیت مقیاس میشود.
import aspose_barcode_foss as barcode
bc = barcode.qr("https://example.com")
svg_string = bc.to_svg()
with open("barcode.svg", "w") as f:
f.write(svg_string)خروجی PNG
برای دریافت بارکد به صورت بایتهای PNG، to_png() را فراخوانی کنید. خروجی PNG به صورت رستر در مقیاس و DPI مشخص شده تولید میشود.
import aspose_barcode_foss as barcode
bc = barcode.code128("PNG-OUTPUT")
png_bytes = bc.to_png()
with open("barcode.png", "wb") as f:
f.write(png_bytes)کنترل مقیاس و DPI
از RenderOptions برای تنظیم scale (یک ضریب شناور برای اندازه ماژول) و dpi (نقطه در اینچ برای خروجی رستر) استفاده کنید. همچنین میتوانید module_width و module_height را بهصورت مستقیم تنظیم کنید تا کنترل دقیقی بر ابعاد هر ماژول داشته باشید.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
scale=3.0,
dpi=300,
module_width=1.5,
module_height=25.0,
)
png = bc.to_png(options=options)تنظیم رنگها
foreground_color و background_color را بهعنوان رشتههای رنگی CSS تنظیم کنید. برای خروجی PNG بدون پرشدن پسزمینه، از transparent_background=True استفاده کنید.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
foreground_color="#003366",
background_color="#FFFFFF",
)
svg = bc.to_svg(options=options)
# Transparent background for PNG
options_transparent = RenderOptions(
foreground_color="#000000",
transparent_background=True,
)
png = bc.to_png(options=options_transparent)منطقه ساکت
ویژگی quiet_zone حاشیهٔ فضای سفید اطراف کد بار را بر حسب واحدهای ماژول کنترل میکند. استانداردهای کد بار معمولاً برای اسکن قابل اطمینان، یک منطقه ساکت حداقل را الزامی میدانند.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)متن قابل خواندن
با تنظیم show_text=True، متن قابل خواندن زیر کد بار نمایش داده میشود. قلم را با font_family و font_size کنترل کنید.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
show_text=True,
font_family="monospace",
font_size=12.0,
)
svg = bc.to_svg(options=options)ویژگیهای RenderOptions
| خاصیت | نوع | توضیح |
|---|---|---|
scale | float | ضریب برای اندازهٔ ماژول |
dpi | int | نقطه بر اینچ (خروجی رستری) |
module_width | float | عرض یک ماژول |
module_height | float | ارتفاع یک ماژول |
quiet_zone | float | حاشیه فضای سفید به واحدهای ماژول |
foreground_color | str | رنگ CSS برای نوارها/ماژولها |
background_color | str | CSS رنگ برای پسزمینه |
transparent_background | bool | پسزمینه شفاف PNG |
show_text | bool | نمایش متن قابلخواندن |
font_family | str | فونت برای متن قابل خواندن توسط انسان |
font_size | float | اندازه فونت برای متن قابل خواندن توسط انسان |
محدودیتهای شناختهشده
متد to_pdf() و کلاس PdfRenderer در API وجود دارند اما NotImplementedError ایجاد میکنند. به جای آن از to_svg() یا to_png() استفاده کنید. خروجی SVG میتواند با استفاده از ابزارهای خارجی در اسناد PDF جاسازی شود.