תכונות ופונקציונליות
תכונות ופונקציונליות
Aspose.BarCode FOSS for Python מספק API ברמה גבוהה ליצירת שבעה סימבוליות של ברקוד עם אפשרויות קידוד לכל סימבולייה ובקרות רינדור. דף זה הוא המקור הראשי לכל תחומי הפונקציונליות.
סימבוליות נתמכות
הספרייה תומכת בשבעה סימבוליות דרך פונקציות עזר ייעודיות ונקודת הכניסה הכללית generate():
| Symbology | סוג | Helper | מחלקת Options |
|---|---|---|---|
| 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 מקבל ערך 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_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)— רינדור באמצעות מימוש ספציפי שלRenderersymbol— ה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 | חריגה בסיסית לספריית הברקוד |