1. Продукты
  2.   Aspose.BarCode
  3.   Aspose.BarCode FOSS for Python

Aspose.BarCode FOSS for Python

Открытая библиотека Python для генерации стандартизированных 1D и 2D штрихкодов. Лицензия MIT, чистый Python, вывод в SVG и PNG.

Библиотека Python с открытым исходным кодом для генерации штрих-кодов

Aspose.BarCode FOSS for Python — это бесплатная, открытая библиотека для генерации штрихкодов, соответствующих стандартам, на чистом Python. Установите её с помощью pip install aspose-barcode-foss и начните создавать штрихкоды Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A и UPC-E. Каждый штрихкод рендерится напрямую в SVG или PNG без нативных зависимостей.

Библиотека предоставляет высокоуровневую функцию generate() и вспомогательные функции для каждой символогии, такие как barcode.code128(), barcode.qr() и barcode.ean13(). Каждый вызов возвращает объект Barcode с методами .to_svg() и .to_png() для немедленного вывода. Параметры рендеринга, включая масштаб, DPI, размеры модуля, цвета, тихую зону и видимость человекочитаемого текста, управляются через RenderOptions.

Поскольку библиотека написана на чистом Python без нативных зависимостей от Office или графических библиотек, она работает одинаково на Windows, Linux и macOS, включая Docker‑контейнеры и CI‑раннеры. Кодовая база лицензирована по MIT и размещена на GitHub. Для корпоративных функций и поддержки см. Aspose.BarCode for Python — Enterprise Product.

Создание штрих-кода

  • Семь символогий: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A и UPC-E.
  • Высокоуровневый API: Вызовите barcode.generate("code128", "data"), чтобы создать любой поддерживаемый штрих‑код по имени.
  • Специализированные помощники: Используйте barcode.code128(), barcode.qr(), barcode.ean13(), barcode.ean8(), barcode.upca() и barcode.upce() для типобезопасного создания.
  • Параметры кодирования: Управляйте режимом кодирования, контрольными цифрами, уровнем коррекции ошибок и GS1 через Code128Options, Code39Options, QrOptions и классы параметров, специфичные для символогии.
  • Автоматические контрольные цифры: EAN-13, EAN-8, UPC-A и UPC-E автоматически вычисляют контрольные цифры из строки данных.

Где Aspose.BarCode ФОСС можно использовать

  • Назначение продукта: Создать штрих-коды EAN-13 и UPC-A для упаковки розничной торговли.
  • Управление запасами: Создание этикетки кода 128 для складских и логистических рабочих процессов.
  • Кампании с QR-кодом: Создавать QR коды для маркетинговых материалов, билетов на мероприятия и мобильных ссылок.
  • Отправка и логистика: Создать коды 39 и 128 для отслеживания грузов.

Редактирование и выпуск

  • SVG output: Вызовите barcode.to_svg(), чтобы получить строку SVG, соответствующую стандарту.
  • PNG output: Вызовите barcode.to_png(), чтобы получить байты изображения PNG.
  • RenderOptions: Управляйте scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family и font_size.
  • Human-readable text: Реализации TextLayoutPolicy, специфичные для символогии, обрабатывают размещение текста под каждым типом штрихкода.
  • Renderer architecture: PngRenderer и SvgRenderer реализуют интерфейс Renderer для расширяемого вывода.

Опыт разработчика

Aspose.BarCode FOSS можно установить с помощью pip install aspose-barcode-foss. Нет нативных библиотек или системных пакетов для установки. Библиотека требует Python 3.12 или новее.

API построен вокруг Barcode, EncodeOptions, RenderOptions и SymbologyRegistry, охватывая весь конвейер от генерации до рендеринга. Каждая символьная система определяется SymbologyDefinition, который объединяет парсер, кодировщик, профиль и политику размещения текста. База кода лицензирована по MIT, размещена на GitHub и принимает вклады.

Конфигурация символики

  • Code 128 режимы: Выберите AUTO, CODE_A, CODE_B, CODE_C или режимы смешанного набора через Code128EncodeMode.
  • Code 39 режимы: Выберите кодировку BASE или FULL_ASCII с необязательной контрольной цифрой через Code39Options.
  • QR параметры: Установите error_correction_level (L, M, Q, H), version, mask и encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI) через QrOptions.
  • Система реестра: SymbologyRegistry хранит все определения и разрешает символогии по каноническому имени или псевдониму.
  • Метаданные профиля: Каждая симвология SymbologyProfile предоставляет значения по умолчанию, возможности, ссылки на спецификации и известные ограничения.

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

  • Typed exceptions: BarcodeError является базовым, с EncodingError, RenderingError, InvalidInputError, SymbologyNotFoundError, UnsupportedFeatureError и UnsupportedCapabilityError.
  • Input validation: Каждый InputParser проверяет данные перед кодированием, отлавливая недопустимые символы и нарушения формата на ранних этапах.
  • Capability checks: Неподдерживаемые функции (например, двоичный ввод для Code 39) вызывают UnsupportedCapabilityError с описательным сообщением.

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

Создать штрих-код кода 128 с функцией generate() высокого уровня и отобразить его в SVG.

import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Hello World")
svg_string = bc.to_svg()
print(svg_string[:80])

Создать QR-код с настраиваемыми опциями

Создать QR-код с конкретным исправлением ошибок и отображать на PNG байты.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr("https://example.com", options=QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H
))
png_bytes = bc.to_png()
with open("qr.png", "wb") as f:
    f.write(png_bytes)

Оформление с индивидуальным внешним видом

Используйте RenderOptions для управления масштабом, цветами и тихой зоной любого штрих-кода.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
    scale=2.0,
    foreground_color="#003366",
    quiet_zone=10.0,
    show_text=True
))

Часто задаваемые вопросы

Какой лицензией используется Aspose.BarCode FOSS для Python?

Библиотека выпущена под лицензией MIT. Вы можете использовать, модифицировать и перераспределять ее как в открытых источниках, так и коммерческих проектах без роялти.

Какие символы штрих-кода поддерживаются?

Библиотека поддерживает семь символических форм Код 128, Кода 39, EAN-13, E AN-8, QR Code, UPC-A и U PC-E.

Какие формы вывода доступны?

Баркоды отображаются в SVG через to_svg() и PNG черезto_png(). Метод to_pdf() существует в API, но возникает NotImplementedError в текущем выпуске.

Как я устанавливаю Aspose.BarCode FOSS для Python?

Запустить pip install aspose-barcode-foss. Библиотека требует Python 3.12 или более поздней версии. Это чистый Python без нативных зависимостей.

Могу ли я контролировать визуальный вид штрих-кода?

Да. Передайте объект RenderOptions в to_svg() или to_png() для управления масштабом, DPI, размерами модуля, цветами, тихой зоной и читаемым человеком текстом.

Какие версии Python поддерживаются?

Aspose.BarCode FOSS требует Python 3.12 или новее. Это чистый Python без нативных или C-extension зависимостей.

Могу ли я создать штрих-коды в батах?

Да. Создать единственный BarcodeService пример и вызвать generate() в петле для каждого значения данных. Каждый звонок возвращает объект Barcode, который вы отображаете независимо от to_svg() или to_png().

Как я настраиваю варианты кодирования по символике?

Передайте объект параметров, специфичный для символогии (например, Code128Options, QrOptions, Ean13Options) в качестве параметра encode для BarcodeService.generate(). Каждый класс параметров раскрывает свойства, специфичные для этой символогии, такие как encode_mode для Code 128 или error_correction_level для QR Code.

  

Ресурсы поддержки и обучения

 Русский