מבוא

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, .KANJI
  • version: גרסת 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():

מאפייןסוגתיאור
scalefloatמקדם קנה מידה אחיד
dpiintרזולוציה לפלט PNG
module_widthfloatרוחב של מודול ברקוד אחד
module_heightfloatגובה של מודול ברקוד אחד
quiet_zonefloatריפוד רווח לבן סביב הברקוד
foreground_colorstrצבע Hex לעמודות (למשל, "#000000")
background_colorstrצבע Hex לרקע
transparent_backgroundboolרקע שקוף ל-PNG
show_textboolהצג טקסט קריא לבני אדם מתחת לברקוד
font_familystrגופן לטקסט קריא לבני אדם
font_sizefloatגודל גופן לטקסט קריא לבני אדם
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 1281DCode128Optionsencode_mode
Code 391DCode39Optionsfull_ascii, add_check_digit
EAN-131DEan13Optionsallow_check_digit_input
EAN-81DEan8Optionsallow_check_digit_input
QR Code2DQrOptionserror_correction_level, encoding_mode, version, mask
UPC-A1DUpcaOptionsallow_check_digit_input
UPC-E1DUpceOptionsallow_check_digit_input

פורמטים של פלט:

פורמטהרחבהExport
SVG.svg
PNG.png

קוד פתוח והרשאות

Aspose.BarCode FOSS עבור Python הוא ברישיון MIT. הקוד זמין ב-GitHub; בנו מהקוד. אין תלותיים מקומיים, אין טלמטריה, אין מגבלות שימוש.


התחלה

משאבים קשורים