الميزات والوظائف
الميزات والوظائف
Aspose.BarCode FOSS لـ Python يوفر API عالي المستوى لإنشاء سبعة رموز باركود مع خيارات ترميز لكل رمز وتحكمات العرض. هذه الصفحة هي المرجع الأساسي لجميع مجالات الميزات.
الرموز المدعومة
تدعم المكتبة سبعة رموز عبر وظائف مساعدة مخصصة ونقطة الدخول العامة generate():
| Symbology | النوع | Helper | فئة الخيارات |
|---|---|---|---|
| Code 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR Code | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |
import aspose_barcode_foss as barcode
# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
# Generic API
bc_gen = barcode.generate("ean13", "590123412345")Code 128 أنماط الترميز
Code128Options يتحكم في مجموعات الأحرف Code 128 التي يستخدمها المشفر. خاصية encode_mode تقبل قيمة تعداد Code128EncodeMode:
AUTO— يختار الترميز الأكثر كثافة تلقائيًاCODE_A,CODE_B,CODE_C— قصر على مجموعة أحرف واحدةCODE_AB,CODE_AC,CODE_BC— السماح بالتبديل بين مجموعتي أحرف
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Code 39 الترميز
Code39Options يتحكم فيما إذا كان المشفر يستخدم مجموعة الأحرف الأساسية المكوّنة من 43 حرفًا أو امتداد ASCII الكامل:
full_ascii— اضبطه علىTrueلتشفير نطاق ASCII الكامل المكوّن من 128 حرفًا باستخدام أزواج التحويلadd_check_digit— يضيف رقم تحقق بمودولو-43
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)QR Code التكوين
QrOptions يوفر أكثر إعدادات التكوين بين جميع الرموز:
| الخاصية | النوع | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7%), M (15%), Q (25%), H (30%) |
encoding_mode | QrEncodeMode | AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
version | int | 1–40 (يتحكم في حجم الرمز) |
mask | int | 0–7 (اختيار نمط القناع يدويًا) |
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
bc = barcode.qr(
"https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.Q,
encoding_mode=QrEncodeMode.BYTE,
),
)أرقام التحقق EAN و UPC
Ean13Options، Ean8Options، UpcaOptions و UpceOptions كل منها لديها خاصية allow_check_digit_input. بشكل افتراضي، تقوم المكتبة بحساب رقم التحقق تلقائيًا. اضبط allow_check_digit_input=True إذا كانت بياناتك تتضمنها بالفعل.
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)ضوابط العرض
RenderOptions ينطبق على جميع الرموز ويُتحكم في المخرج البصري. مرره إلى to_svg() أو to_png():
| الخاصية | النوع | وصف |
|---|---|---|
scale | float | معامل مقياس موحد |
dpi | int | دقة إخراج PNG |
module_width | float | عرض وحدة الباركود الواحدة |
module_height | float | ارتفاع وحدة الباركود الواحدة |
quiet_zone | float | حشو مساحة فارغة حول الباركود |
foreground_color | str | لون سداسي عشري للأشرطة (مثال، "#000000") |
background_color | str | لون سداسي عشري للخلفية |
transparent_background | bool | خلفية شفافة لتنسيق PNG |
show_text | bool | إظهار النص القابل للقراءة للإنسان أسفل الباركود |
font_family | str | خط للنص القابل للقراءة للإنسان |
font_size | float | حجم الخط للنص القابل للقراءة البشرية |
from aspose_barcode_foss import RenderOptions
bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
scale=3.0,
dpi=300,
foreground_color="#1a1a1a",
background_color="#ffffff",
show_text=True,
))تنسيقات الإخراج
| التنسيق | طريقة | نوع الإرجاع |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
كلتا الطريقتين تقبلان معاملًا اختياريًا RenderOptions.
معالجة الأخطاء
جميع عمليات التحقق من خيارات الترميز تتم عند وقت التحليل. تُطلق المكتبة استثناءات مُصنفة قبل بدء الترميز:
| Exception | عند الرفع |
|---|---|
InvalidInputError | البيانات تحتوي على أحرف غير مدعومة من قبل الرموز |
EncodingError | فشل الترميز (على سبيل المثال، البيانات تتجاوز السعة) |
SymbologyNotFoundError | تم تمرير اسم ترميز غير معروف إلى generate() |
UnsupportedCapabilityError | الميزة المطلوبة غير متوفرة لهذا الترميز |
جميع فئات الاستثناءات ترث من BarcodeError.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")التحقق من صحة الإدخال
لكل رمزية InputParser مخصص يتحقق من صحة البيانات قبل الترميز. يتحقق المحلل من مجموعة الأحرف والطول ومتطلبات التنسيق الخاصة بكل رمزية. تُستخدم Code128InputParser، Code39InputParser، Ean13InputParser، Ean8InputParser، QrInputParser، UpcaInputParser وUpceInputParser داخليًا بواسطة وظائف المساعد الخاصة بها.
كائن الباركود
كائن Barcode الذي تُرجعه جميع وظائف المساعد يوفر:
to_svg(options)— إنتاج سلسلة SVGto_png(options)— إنتاج بايتات PNGrender(renderer, options)— إظهار باستخدام تنفيذRendererمحددsymbol— الـEncodedSymbolالتي تحتوي على مصفوفة الوحدة والبيانات الوصفيةprofile— الـSymbologyProfileمع الإعدادات الافتراضية والقدرات
ملخص API Reference
| الفئة | وصف |
|---|---|
Barcode | كائن باركود عام يحتوي على to_svg() و to_png() |
Code128Options | خيارات الترميز لـ Code 128 (encode_mode) |
Code39Options | خيارات الترميز لـ Code 39 (full_ascii, add_check_digit) |
QrOptions | خيارات الترميز لـ QR Code (error_correction_level, encoding_mode, version, mask) |
Ean13Options | خيارات الترميز لـ EAN-13 (allow_check_digit_input) |
Ean8Options | خيارات الترميز لـ EAN-8 (allow_check_digit_input) |
UpcaOptions | خيارات الترميز لـ UPC-A (allow_check_digit_input) |
UpceOptions | خيارات الترميز لـ UPC-E (allow_check_digit_input، number_system) |
RenderOptions | عناصر التحكم في الإخراج البصري (المقياس، DPI، الألوان، النص) |
EncodeOptions | النوع الأساسي لخيارات الترميز المتخصصة للرموز |
BarcodeError | الاستثناء الأساسي لمكتبة الباركود |