מבוא
Aspose.BarCode FOSS עבור Python מספק מחלקות אפשרויות לכל סימבוליה שמבקרות את התנהגות הקידוד בכל שבעת הפורמטים הנתמכים של ברקוד. כל מחלקת אפשרות יורשת מ-EncodeOptions ומוסיפה מאפיינים ספציפיים לסימבוליה שלה — מצבי קידוד Code 128, בחירת ASCII Code 39, רמות תיקון שגיאות QR, וטיפול בספרת ביקורת EAN/UPC.
פוסט זה מכסה כל מחלקת אפשרות, את המאפיינים שלה, ודוגמאות קוד עובדות. המחלקות זמינות מהחבילה ברמת העל aspose_barcode_foss.
תכונות מרכזיות
מצבי קידוד Code 128
Code128Options שולט באיזה קבוצות תווים של Code 128 המקודד משתמש. המאפיין encode_mode מקבל ערך enum של Code128EncodeMode: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC או CODE_BC. AUTO בוחר את הקידוד המצומצם ביותר באופן אוטומטי. CODE_C מותאם לנתונים המכילים רק ספרות (זוגות ספרות מקודדים כנקודות קוד יחידות).
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = bc.to_svg()
Code 128 תומך גם במאפיינים gs1_enabled ו-eci_assignment_number שיורשים מ-EncodeOptions עבור GS1 ונתוני מטה-ECI.
Code 39 קידוד
Code39Options שולט אם הקודד משתמש במערכת התווים הבסיסית של 43 תווים או בהרחבת Full ASCII. הגדר full_ascii=True כדי להפעיל מצב Full ASCII, שמקודד את טווח ה-ASCII המלא של 128 תווים באמצעות זוגות שינוי. תכונה add_check_digit האופציונלית מוסיפה ספרת בדיקה מודולו-43.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = bc.to_svg()
QR Code תצורה
QrOptions מציע את קבוצת התצורות העשירה ביותר בין הסימבוליות הנתמכות:
error_correction_level:QrErrorCorrectionLevel.L(7%),.M(15%),.Q(25%),.H(30%)encoding_mode:QrEncodeMode.AUTO,.NUMERIC,.ALPHANUMERIC,.BYTE,.KANJIversion: גרסת QR (1–40), השולטת בגודל הסימבולmask: תבנית מסכה (0–7) לבחירה ידנית
import aspose_barcode_foss as barcode
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,
),
)
png_bytes = bc.to_png()
ספרות ביקורת של EAN ו-UPC
Ean13Options, Ean8Options, UpcaOptions ו-UpceOptions לכל אחד יש תכונה allow_check_digit_input. באופן ברירת מחדל, הספרייה מחשבת את ספרת הביקורת אוטומטית מהנתונים. הגדר allow_check_digit_input=True אם הנתונים שלך כבר כוללים את ספרת הביקורת.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
svg = bc.to_svg()
# 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 | צבע Hex לעמודות (למשל, "#000000") |
background_color | str | צבע Hex לרקע |
transparent_background | bool | רקע שקוף ל-PNG |
show_text | bool | הצג טקסט קריא לבני אדם מתחת לברקוד |
font_family | str | גופן לטקסט קריא לבני אדם |
font_size | float | גודל גופן לטקסט קריא לבני אדם |
import aspose_barcode_foss as barcode
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,
font_family="Courier New",
))
טיפול בשגיאות
כל אימות אפשרויות הקידוד מתבצע בזמן הפענוח. אם ניתנים נתונים לא חוקיים או אפשרויות לא תואמות, הספרייה מעלה יוצא מן הכלל מסוג Typed לפני תחילת הקידוד:
InvalidInputError— הנתונים מכילים תווים שאינם נתמכים על ידי הסימבולולוגיהEncodingError— קידוד נכשל (למשל, הנתונים חורגים מהקיבולת)SymbologyNotFoundError— שם סימבוליות לא מזוהה נשלח ל-generate()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 .צור קודי ברקוד עם אפשרויות קידוד שונות ושמור אותם:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import (
Code128Options, Code128EncodeMode,
QrOptions, QrErrorCorrectionLevel,
RenderOptions,
)
# Code 128 in CODE_C mode (compact digit encoding)
c128 = barcode.code128(
"9876543210",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
with open("code128.svg", "w") as f:
f.write(c128.to_svg())
# QR with high error correction
qr = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
with open("qr.png", "wb") as f:
f.write(qr.to_png(options=RenderOptions(scale=4.0)))
# EAN-13 with custom colors
ean = barcode.ean13("590123412345")
with open("ean13.svg", "w") as f:
f.write(ean.to_svg(options=RenderOptions(
foreground_color="#003366",
show_text=True,
)))
פורמטים נתמכים
| Symbology | סוג | מחלקת אפשרויות | מאפיינים מרכזיים |
|---|---|---|---|
| Code 128 | 1D | Code128Options | encode_mode |
| Code 39 | 1D | Code39Options | full_ascii, add_check_digit |
| EAN-13 | 1D | Ean13Options | allow_check_digit_input |
| EAN-8 | 1D | Ean8Options | allow_check_digit_input |
| QR Code | 2D | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | 1D | UpcaOptions | allow_check_digit_input |
| UPC-E | 1D | UpceOptions | allow_check_digit_input |
פורמטים של פלט:
| פורמט | הרחבה | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
קוד פתוח והרשאות
Aspose.BarCode FOSS עבור Python הוא ברישיון MIT. הקוד זמין ב-GitHub; בנו מהקוד. אין תלותיים מקומיים, אין טלמטריה, אין מגבלות שימוש.