Особливості та функції
Особливості та функції
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() пункт в’їзду:
| Symbology | Type | Helper | Клас опцій |
|---|---|---|---|
| Код 128 | 1D | code128() | Code128Options |
| Код 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR-код | 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")Код 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 забезпечує найбільшу конфігурацію серед усіх символіки:
| Property | Type | 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 (controls symbol size) |
mask | int | 0–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():
| Property | Type | Description |
|---|---|---|
scale | float | Єдиний множитель масштабу |
dpi | int | Розмір виходу PNG |
module_width | float | Ширина одного модуля штрих-коду |
module_height | float | Висота одного модуля штрих-коду |
quiet_zone | float | Білий простір навколо штрих-коду |
foreground_color | str | Хекс-кольор для штрихів (наприклад,., "#000000") |
background_color | str | Хекс-колер для фону |
transparent_background | bool | Прозорість фону для ПНГ |
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,
))Формати виходу
| Format | Method | Тип повернення |
|---|---|---|
| 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)відтворення на SVG-стрункуto_png(options)відтворення на PNG байтиrender(renderer, options)викладання за допомогою специфічногоRendererреалізаціяsymbolвEncodedSymbolщо містить матрицю модуля та метадані;profileвSymbologyProfileз умовними параметрами та можливостями
Реферат на API
| Class | Description |
|---|---|
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 | Базова виняткова для бібліотеки штрих-кодів |