مقدمه
ما در حال انتشار 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 128 | 1D | توکار | Code128Options |
| Code 39 | 1D | Optional | Code39Options |
| EAN-13 | 1D | Automatic | Ean13Options |
| EAN-8 | 1D | Automatic | Ean8Options |
| QR Code | 2D | توکار | QrOptions |
| UPC-A | 1D | Automatic | UpcaOptions |
| UPC-E | 1D | Automatic | UpceOptions |
قالبهای خروجی:
| قالب | پسوند | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
منبع باز و مجوزدهی
این کتابخانه تحت مجوز MIT است. میتوانید از آن در برنامههای تجاری استفاده کنید، آن را تغییر دهید و بدون هیچ محدودیتی توزیع کنید. منبع آن در GitHub موجود است. هیچ سطح استفادهای، هیچ محدودیت توکنی و هیچ تلهمتری وجود ندارد. تمام پردازشها بهصورت محلی انجام میشود.