תכונות ופונקציונליות

תכונות ופונקציונליות

תכונות ופונקציונליות

Aspose.BarCode FOSS for Python מספק API ברמה גבוהה ליצירת שבעה סימבוליות של ברקוד עם אפשרויות קידוד לכל סימבולייה ובקרות רינדור. דף זה הוא המקור הראשי לכל תחומי הפונקציונליות.


סימבוליות נתמכות

הספרייה תומכת בשבעה סימבוליות דרך פונקציות עזר ייעודיות ונקודת הכניסה הכללית generate():

SymbologyסוגHelperמחלקת Options
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 מקבל ערך enum של 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חריגה בסיסית לספריית הברקוד

ראה גם

 עברית