Особливості та функції

Особливості та функції

Особливості та функції

Aspose.BarCode FOSS for Python provides a high-level API for generating seven barcode symbologies with per-symbology encode options and rendering controls. This page is the primary reference for all feature areas.


Підтримані символіки

Бібліотека підтримує сім символіки через спеціальні функції помічника і загальний generate() пункт в’їзду:

SymbologyTypeHelperКлас опцій
Код 1281Dcode128()Code128Options
Код 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR-код2Dqr()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")

Код 128 Моди шифрування

Code128Options Код 128 визначає, який код використовується кодером. encode_mode нерухомість приймає Code128EncodeMode значення enum:

  • 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),
)

Код 39 - кодування

Code39Options контролює, чи використовує кодер базовий набір 43 символів або розширення Full ASCII:

  • full_ascii встановлено на: True кодування всього діапазону 128 символів ASCII за допомогою пар змін.
  • add_check_digit додає номер модуля-43
from aspose_barcode_foss import Code39Options

bc = barcode.code39(
    "Hello",
    encode=Code39Options(full_ascii=True, add_check_digit=True),
)

Конфігурація QR-коду

QrOptions забезпечує найбільшу конфігурацію серед усіх символіки:

PropertyTypeValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (controls symbol size)
maskint0–7 (manual mask pattern selection)
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():

PropertyTypeDescription
scalefloatЄдиний множитель масштабу
dpiintРозмір виходу PNG
module_widthfloatШирина одного модуля штрих-коду
module_heightfloatВисота одного модуля штрих-коду
quiet_zonefloatБілий простір навколо штрих-коду
foreground_colorstrХекс-кольор для штрихів (наприклад,., "#000000")
background_colorstrХекс-колер для фону
transparent_backgroundboolПрозорість фону для ПНГ
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,
))

Формати виходу

FormatMethodТип повернення
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

ClassDescription
BarcodeОб’єкт публічного штрих-кода з: to_svg() і to_png()
Code128OptionsМожливі варіанти кодування для коду 128 (encode_mode)
Code39OptionsМожливі варіанти кодування для Коду 39 (full_ascii, add_check_digit)
QrOptionsМожливі варіанти кодування QR-коду (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Базова виняткова для бібліотеки штрих-кодів

Дивіться також

 Українська