چگونه بارکدها را با Aspose.BarCode FOSS رندر کنیم

چگونه بارکدها را با 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

خاصیتنوعتوضیح
scalefloatضریب برای اندازهٔ ماژول
dpiintنقطه بر اینچ (خروجی رستری)
module_widthfloatعرض یک ماژول
module_heightfloatارتفاع یک ماژول
quiet_zonefloatحاشیه فضای سفید به واحدهای ماژول
foreground_colorstrرنگ CSS برای نوارها/ماژول‌ها
background_colorstrCSS رنگ برای پس‌زمینه
transparent_backgroundboolپس‌زمینه شفاف PNG
show_textboolنمایش متن قابل‌خواندن
font_familystrفونت برای متن قابل خواندن توسط انسان
font_sizefloatاندازه فونت برای متن قابل خواندن توسط انسان

محدودیت‌های شناخته‌شده

متد to_pdf() و کلاس PdfRenderer در API وجود دارند اما NotImplementedError ایجاد می‌کنند. به جای آن از to_svg() یا to_png() استفاده کنید. خروجی SVG می‌تواند با استفاده از ابزارهای خارجی در اسناد PDF جاسازی شود.

همچنین ببینید:

 فارسی