مقدمه

ما در حال انتشار Aspose.BarCode FOSS برای Python، یک کتابخانه‌ی خالص-Python برای تولید بارکدهای 1D و 2D سازگار با استانداردها. منبع در دسترس است در GitHub as aspose-barcode-foss، دارای مجوز MIT است و هیچ وابستگی خارجی ندارد.

این کتابخانه هفت نمادگذاری را پشتیبانی می‌کند: Code 128، Code 39، EAN-13، EAN-8، QR Code، UPC-A و UPC-E. هر بارکد به‌صورت مستقیم به SVG یا PNG رندر می‌شود. هیچ افزونهٔ بومی، بستهٔ سیستمی برای نصب، و درایور گرافیکی مورد نیاز نیست — از منبع روی Windows، Linux و macOS ساخت کنید.


ویژگی‌های کلیدی

تولید سطح-بالا API

تابع سطح‌بالای generate() یک نام نمادگذاری و رشته داده را می‌پذیرد و یک شیء Barcode برمی‌گرداند. کمک‌کننده‌های اختصاصی برای هر نمادگذاری — code128()، code39()، ean13()، ean8()، qr()، upca() و upce() — نقاط ورودی ایمن‌ازنظر نوع برای هر قالب فراهم می‌کنند.

import aspose_barcode_foss as barcode

bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()

گزینه‌های رمزگذاری مخصوص نمادگذاری

هر نماد یک کلاس گزینه‌ها می‌پذیرد که رفتار رمزگذاری را کنترل می‌کند. Code128Options encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC) را فراهم می‌کند. Code39Options از حالت‌های BASE و FULL_ASCII پشتیبانی می‌کند. QrOptions error_correction_level (L, M, Q, H)، version، mask و encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI) را نمایش می‌دهد.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
png_bytes = bc.to_png()

کنترل‌های رندرینگ

RenderOptions خروجی بصری را کنترل می‌کند: scale، dpi، module_width، module_height، quiet_zone، foreground_color، background_color، transparent_background، show_text، font_family و font_size. هر دو to_svg() و to_png() یک پارامتر اختیاری 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,
))

رقم‌های کنترل خودکار

EAN-13، EAN-8، UPC-A و UPC-E رقم‌های بررسی را به‌صورت خودکار از رشته داده محاسبه می‌کنند. شما فقط رقم‌های بارگذاری را فراهم می‌کنید؛ کتابخانه در زمان رمزگذاری رقم بررسی صحیح را اضافه می‌کند.

اعتبارسنجی ورودی

هر نماد یک InputParser اختصاصی دارد که داده‌ها را پیش از رمزگذاری اعتبارسنجی می‌کند. کاراکترهای نامعتبر، طول‌های نادرست و نقض‌های قالب به‌سرعت با استثناهای تایپی شناسایی می‌شوند: InvalidInputError، EncodingError، SymbologyNotFoundError و UnsupportedCapabilityError — همگی از BarcodeError ارث می‌برند.


شروع سریع

git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .

یک بارکد Code 128 تولید کنید و SVG را در یک فایل بنویسید:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions

bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(show_text=True))

with open("barcode.svg", "w") as f:
    f.write(svg)

یک QR code تولید کنید و به‌صورت PNG ذخیره کنید:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)

with open("qr.png", "wb") as f:
    f.write(bc.to_png())

این کتابخانه به Python نسخه 3.12 یا بالاتر نیاز دارد.


قالب‌های پشتیبانی‌شده

Symbologyنوعرقم کنترلکلاس گزینه‌ها
Code 1281DتوکارCode128Options
Code 391DOptionalCode39Options
EAN-131DAutomaticEan13Options
EAN-81DAutomaticEan8Options
QR Code2DتوکارQrOptions
UPC-A1DAutomaticUpcaOptions
UPC-E1DAutomaticUpceOptions

قالب‌های خروجی:

قالبپسوندExport
SVG.svg
PNG.png

منبع باز و مجوزدهی

این کتابخانه تحت مجوز MIT است. می‌توانید از آن در برنامه‌های تجاری استفاده کنید، آن را تغییر دهید و بدون هیچ محدودیتی توزیع کنید. منبع آن در GitHub موجود است. هیچ سطح استفاده‌ای، هیچ محدودیت توکنی و هیچ تله‌متری وجود ندارد. تمام پردازش‌ها به‌صورت محلی انجام می‌شود.


شروع کار

منابع مرتبط