Quickstart

Быстрый запуск Aspose.BarCode FOSS для Python

В этом руководстве описывается создание штрих-кодов с использованием трех наиболее распространенных символов: код 128, QR-Код и EAN-13. Каждый пример демонстрирует API высокого уровня, варианты кодирования по символам и элементы управления рендерингом.


Создать штрих-код 128

Код 128 - это 1D-симвология переменной длины, используемая в логистике и судоходстве. code128() помощник принимает строку данных и необязательное Code128Options:

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()

with open("code128.svg", "w") as f:
    f.write(svg)

Code128EncodeMode.CODE_C оптимизирован для данных только с цифрами он кодирует пары цифр как отдельные точки кода, производя более короткий штрих-код.


Создать QR-код

QR-код - это 2D-симвология, поддерживающая исправление ошибок и несколько режимов кодирования. QrOptions контролирует уровень коррекции ошибок, режим кодирования, версию и маски:

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

with open("qr.png", "wb") as f:
    f.write(bc.to_png())

Уровни исправления ошибок: L (7% восстановления), M (15%), Q (25%), H (30%).


Создать штрих-код EAN-13

EAN-13 - это фиксированная 1D-симвология, используемая в розничной торговле. Поставьте 12 цифр полезной нагрузки библиотека автоматически вычисляет 13-ю контрольную цифру:

import aspose_barcode_foss as barcode

bc = barcode.ean13("590123412345")
svg = bc.to_svg()

with open("ean13.svg", "w") as f:
    f.write(svg)

Для обеспечения собственной предварительно вычисленных контрольных цифр (13 цифров в общей сложности), набор allow_check_digit_input=True:

from aspose_barcode_foss import Ean13Options

bc = barcode.ean13(
    "5901234123457",
    encode=Ean13Options(allow_check_digit_input=True),
)

Настроить отображение

RenderOptions применяется ко всем символикам и контролирует визуальный выход. Передайте его в to_svg() или в другом случае: to_png():

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

with open("upca.png", "wb") as f:
    f.write(png)

Доступные свойства: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family, font_size.


Используйте API Generic generate ((()

В связи с этим generate() функция принимает символическую строку вместо вызова выделенного помощника:

import aspose_barcode_foss as barcode

bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()

Действительные символические названия: "code128", "code39", "ean13", "ean8", "qr", "upca", "upce".


Обработка ошибок

Если предоставлены недействительные данные или несовместимые опции, библиотека возбуждает вписанное исключение:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import InvalidInputError

try:
    bc = barcode.ean13("ABC")  # EAN-13 requires digits
except InvalidInputError as e:
    print(f"Invalid input: {e}")

Иерархия исключений:

ExceptionКогда поднимается,
InvalidInputErrorДанные содержат символы, не поддерживаемые символогией.
EncodingErrorПровалилась кодировка (например, данные превышают емкость символики)
SymbologyNotFoundErrorНепризнанное символическое название перешло на: generate()
UnsupportedCapabilityErrorЗапрошенная функция не доступна для этой символогии.

Все классы исключений наследуют от: BarcodeError.


Поддерживаемые символики

SymbologyTypeКласс опционовКлючевые свойства
Код 1281DCode128Optionsencode_mode
Код 391DCode39Optionsfull_ascii, add_check_digit
EAN-131DEan13Optionsallow_check_digit_input
EAN-81DEan8Optionsallow_check_digit_input
QR-код2DQrOptionserror_correction_level, encoding_mode, version, mask
UPC-A1DUpcaOptionsallow_check_digit_input
UPC-E1DUpceOptionsallow_check_digit_input

Форматы вывода: SVG и PNG.


Следующие шаги

See Also

 Русский