الميزات والوظائف

الميزات والوظائف

الميزات والوظائف

Aspose.BarCode FOSS لـ Python يوفر API عالي المستوى لإنشاء سبعة رموز باركود مع خيارات ترميز لكل رمز وتحكمات العرض. هذه الصفحة هي المرجع الأساسي لجميع مجالات الميزات.


الرموز المدعومة

تدعم المكتبة سبعة رموز عبر وظائف مساعدة مخصصة ونقطة الدخول العامة generate():

SymbologyالنوعHelperفئة الخيارات
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()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_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (يتحكم في حجم الرمز)
maskint0–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():

الخاصيةالنوعوصف
scalefloatمعامل مقياس موحد
dpiintدقة إخراج PNG
module_widthfloatعرض وحدة الباركود الواحدة
module_heightfloatارتفاع وحدة الباركود الواحدة
quiet_zonefloatحشو مساحة فارغة حول الباركود
foreground_colorstrلون سداسي عشري للأشرطة (مثال، "#000000")
background_colorstrلون سداسي عشري للخلفية
transparent_backgroundboolخلفية شفافة لتنسيق PNG
show_textboolإظهار النص القابل للقراءة للإنسان أسفل الباركود
font_familystrخط للنص القابل للقراءة للإنسان
font_sizefloatحجم الخط للنص القابل للقراءة البشرية
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,
))

تنسيقات الإخراج

التنسيقطريقةنوع الإرجاع
SVGto_svg()str
PNGto_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) — إنتاج سلسلة SVG
  • to_png(options) — إنتاج بايتات PNG
  • render(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الاستثناء الأساسي لمكتبة الباركود

انظر أيضاً

 العربية