1. محصولات
  2.   Aspose.BarCode
  3.   Aspose.BarCode FOSS for Python

Aspose.BarCode FOSS for Python

کتابخانه منبع باز Python برای تولید بارکدهای 1D و 2D مطابق با استانداردها. تحت مجوز MIT، کاملاً Python، به SVG و PNG رندر می‌شود.

کتابخانه منبع باز پایتون برای تولید بارکد

Aspose.BarCode FOSS برای Python یک کتابخانهٔ رایگان و متن‌باز برای تولید بارکدهای سازگار با استانداردها در Python خالص است. آن را با pip install aspose-barcode-foss نصب کنید و شروع به ایجاد بارکدهای Code 128، Code 39، EAN-13، EAN-8، QR Code، UPC-A و UPC-E کنید. هر بارکد مستقیماً به SVG یا PNG رندر می‌شود بدون هیچ وابستگی بومی.

کتابخانه یک تابع سطح‌بالای generate() و کمک‌کننده‌های هر نماد مانند barcode.code128()، barcode.qr() و barcode.ean13() را ارائه می‌دهد. هر فراخوانی یک شیء Barcode را با متدهای .to_svg() و .to_png() برای خروجی فوری برمی‌گرداند. گزینه‌های رندر شامل مقیاس، DPI، ابعاد ماژول، رنگ‌ها، ناحیهٔ ساکت و قابلیت مشاهدهٔ متن قابل خواندن برای انسان از طریق RenderOptions کنترل می‌شوند.

از آنجا که کتابخانه به‌صورت خالص Python بدون هیچ وابستگی بومی به Office یا تصویرسازی است، به‌طور یکسان بر روی Windows، Linux و macOS، از جمله کانتینرهای Docker و رانرهای CI اجرا می‌شود. پایه کد تحت مجوز MIT است و در GitHub میزبانی می‌شود. برای ویژگی‌ها و پشتیبانی سازمانی، به Aspose.BarCode for Python — Enterprise Product مراجعه کنید.

تولید بارکد ها

  • هفت نمادگذاری: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A و UPC-E.
  • سطح بالا API: برای ایجاد هر بارکد پشتیبانی‌شده‌ای بر اساس نام، barcode.generate("code128", "data") را فراخوانی کنید.
  • کمک‌کننده‌های اختصاصی: از barcode.code128()، barcode.qr()، barcode.ean13()، barcode.ean8()، barcode.upca() و barcode.upce() برای تولید ایمن از نظر نوع استفاده کنید.
  • گزینه‌های رمزگذاری: حالت رمزگذاری، رقم‌های کنترل، سطح تصحیح خطا و GS1 را از طریق Code128Options، Code39Options، QrOptions و کلاس‌های گزینه‌های مخصوص نمادگذاری کنترل کنید.
  • رقم‌های کنترل خودکار: EAN-13، EAN-8، UPC-A و UPC-E رقم‌های کنترل را به‌صورت خودکار از رشته داده محاسبه می‌کنند.

جایی که Aspose.BarCode FOSS می تواند مورد استفاده قرار گیرد

  • تعبیری محصول: برای بسته بندی خرده فروشی کد EAN-13 و UPC-A تولید کنید.
  • ** مدیریت انبار:** ایجاد برچسب های کد 128 برای جریان کار گودام و تدارکات.
  • ** کمپین های کد QR:** تولید کدهای QR برای مواد بازاریابی، بلیط رویداد و لینک های تلفن همراه.
  • ** حمل و نقل و تدارکات:** کد 39 و کد 128 بارکد برای برچسب های ردیابی حمل ونقل تولید کنید.

رندر کردن و تولید

  • SVG output: برای دریافت یک رشته SVG مطابق با استانداردها، barcode.to_svg() را فراخوانی کنید.
  • PNG output: برای دریافت بایت‌های تصویر PNG، barcode.to_png() را فراخوانی کنید.
  • RenderOptions: scale، dpi، module_width، module_height، quiet_zone، foreground_color، background_color، transparent_background، show_text، font_family و font_size را کنترل می‌کند.
  • Human-readable text: پیاده‌سازی‌های TextLayoutPolicy مخصوص سمبولولوژی، قرارگیری متن زیر هر نوع بارکد را مدیریت می‌کنند.
  • Renderer architecture: PngRenderer و SvgRenderer رابط Renderer را برای خروجی قابل گسترش پیاده‌سازی می‌کنند.

تجربه توسعه دهنده

Aspose.BarCode FOSS با pip install aspose-barcode-foss قابل نصب است. هیچ کتابخانه بومی یا بسته های سیستم برای نصب وجود ندارد. این کتابخانه نیاز به پایتون 3.12 و یا بالاتر دارد.

API در اطراف Barcode ، EncodeOptions، RenderOptions و SymbologyRegistry ساخته شده است که کل خط تولید را پوشش می دهد. هر سمبولوژی توسط یک SymbologyDefinition تعریف شده که یک پارسر، کدگر، پروفایل و سیاست طرح متن را با هم ترکیب می کند. پایگاه کدهای MIT دارای مجوز است، در GitHub میزبانی می شود و مشارکت ها را پذیرفته است.

تنظیمات نماد شناسی

  • کد 128 حالت: انتخاب کنید AUTO، CODE_A, CODE_B ، CODE_C یا حالت های ترکیبی از طریق Code128EncodeMode.
  • ** حالت کد 39:** انتخاب کنید BASE یا FULL_ASCII رمزگذاری با شماره ی چک اختیاری از طریق Code39Options.
  • ** گزینه های QR:** تنظیم error_correction_level (L, M, Q, H) ، version، mask و encoding_mode [AUTO، NUMERIC، ALPHANUMERIC, BYTE، KANJI] از طریق QrOptions.
  • ** سیستم ثبت نام:** SymbologyRegistry تمام تعاریف را ذخیره می کند و نماد ها را با نام یا مستعار های کانونیک حل می نماید.
  • ** متاداتا پروفایل:** هر نمادگر SymbologyProfile پیش فرض، قابلیت ها، مرجع های مشخصات و محدودیت های شناخته شده را ارائه می دهد.

مدیریت خطا

  • ** استثناهای تایپ شده:** BarcodeError پایه است، با EncodingError, RenderingError,InvalidInputError , SymbologyNotFoundError ، UnsupportedFeatureError و UnsupportedCapabilityError.
  • ** اعتبار سنجی ورودی:** هر InputParser قبل از رمزگذاری داده ها را تأیید می کند، و شخصیت های نامناسب و نقض فرمت را به زودی تشخیص می دهد.
  • تفتیش قابلیت: ویژگی های پشتیبانی نشده (به عنوان مثال، ورودی باینری برای کد 39) UnsupportedCapabilityError را با یک پیام توصیف کننده بالا می برد.

یک کد بارکد 128 تولید کنید

یک کد بارکد 128 با عملکرد generate() سطح بالا ایجاد کنید و آن را به SVG ارائه دهید.

import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Hello World")
svg_string = bc.to_svg()
print(svg_string[:80])

ایجاد یک کد QR با گزینه های سفارشی

یک کد QR با اصلاح خطای خاص تولید کنید و به بایت PNG نمایش دهید.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr("https://example.com", options=QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H
))
png_bytes = bc.to_png()
with open("qr.png", "wb") as f:
    f.write(png_bytes)

نمایش با ظاهر سفارشی

برای کنترل مقیاس، رنگ و منطقه خاموش هر بارکد از RenderOptions استفاده کنید.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
    scale=2.0,
    foreground_color="#003366",
    quiet_zone=10.0,
    show_text=True
))

سوالات متداول

چه مجوزی Aspose.BarCode FOSS برای Python استفاده می‌کند؟

این کتابخانه تحت مجوز MIT منتشر شده است. شما می توانید از آن استفاده کنید، اصلاح کنید و در پروژه های منبع باز و تجاری بدون حقوق انحصاری توزیع کنید.

چه نماد های بارکد پشتیبانی می شوند؟

این کتابخانه از هفت نماد پشتیبانی می کند کد 128 ، کد 39 ، EAN-13 ،EAN-8 ، QR Code ، UPC-A و U PC-E.

چه فرمت های خروجی در دسترس هستند؟

بارکد ها به SVG از طریق to_svg() و PNG از طريق to_png() ارائه می شوند. روش to_pdf() در API وجود دارد اما NotImplementedError را در نسخه فعلی ایجاد می کند.

چطور می توانم Aspose.BarCode FOSS را برای پایتون نصب کنم؟

pip install aspose-barcode-foss را اجرا کنید. این کتابخانه نیاز به Python 3.12 یا بالاتر دارد. آن یک پایتون خالص بدون وابستگی های بومی است.

می تونم ظاهر بارکد رو کنترل کنم؟

بله. یک RenderOptions را به to_svg() یا to_png() برای کنترل مقیاس، DPI، ابعاد ماژول، رنگ ها، منطقه ساکت و متن قابل خواندن توسط انسان منتقل کنید.

چه نسخه های پایتون پشتیبانی می شوند؟

Aspose.BarCode FOSS نیاز به Python 3.12 یا بالاتر دارد. این یک پایتون خالص بدون وابستگی های بومی و C است.

می تونم بارکد ها رو در دسته تولید کنم؟

بله. یک نمونه BarcodeService ایجاد کنید و برای هر مقدار داده به صورت لوپ generate() تماس بگیرید. هر صدا یک شیء Barcode را باز می گرداند که شما بطور مستقل با to_svg() یا to_png() رندر می کنید.

چگونه گزینه های رمزگذاری هر سمبولیک را تنظیم کنم؟

یک شیء گزینه‌های مخصوص سمبولولوژی (به عنوان مثال Code128Options، QrOptions، Ean13Options) را به عنوان پارامتر encode به BarcodeService.generate() پاس دهید. هر کلاس گزینه‌ها ویژگی‌های مخصوص آن سمبولولوژی را افشا می‌کند، مانند encode_mode برای Code 128 یا error_correction_level برای QR Code.

  

منابع پشتیبانی و آموزش

 فارسی