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

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

Лицензирование и открытый исходный код

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

Aspose.BarCode FOSS для Python выпускается под лицензией MIT. Полный текст лицензии включён в файл LICENSE, распространяемый с пакетом. Вы свободны использовать, модифицировать и распространять библиотеку как в открытых, так и в проприетарных проектах.

Могу ли я использовать Aspose.BarCode FOSS в коммерческих продуктах?

Да. Лицензия MIT разрешает коммерческое использование без роялти и требований к указанию авторства, за исключением включения оригинального уведомления о лицензии. Вам не требуется открывать исходный код вашего приложения.


Установка и требования

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

Установите его с помощью команды ниже:

git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .

Библиотека требует Python версии 3.12 или новее.

Есть ли какие-либо нативные зависимости или системные пакеты, необходимые для установки?

Нет. Aspose.BarCode FOSS for Python — это чистый Python пакет. Он не имеет нативных расширений, C-зависимостей и системных пакетов для установки. Работает на Windows, macOS и Linux — включая минимальные Docker-образы, такие как python:3.12-slim.


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

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

Библиотека поддерживает семь символогий:

SymbologyТип:Класс Options
Code 1281DCode128Options
Code 391DCode39Options
EAN-131DEan13Options
EAN-81DEan8Options
QR Code2DQrOptions
UPC-A1DUpcaOptions
UPC-E1DUpceOptions

У каждой символьной системы есть выделенная вспомогательная функция (code128(), code39(), ean13(), ean8(), qr(), upca(), upce()) и обобщённая функция generate(), которая принимает строку с именем символьной системы.

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

Библиотека рендерит штрихкоды в SVG и PNG:

  • to_svg() — возвращает строку SVG
  • to_png() — возвращает байты PNG

Оба метода принимают необязательный параметр RenderOptions для управления масштабом, DPI, цветами, тихой зоной и читаемым человеком текстом.


API Usage

Как сгенерировать штрихкод?

Используйте вспомогательную функцию для каждой символогии:

import aspose_barcode_foss as barcode

bc = barcode.code128("Hello World")
svg = bc.to_svg()

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

Или используйте обобщённую функцию generate():

bc = barcode.generate("qr", "https://example.com")

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

У каждой символогии есть собственный класс параметров. Передайте его как параметр encode:

from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)

Как управлять визуальным отображением штрих-кода?

Используйте RenderOptions с to_svg() или to_png():

from aspose_barcode_foss import RenderOptions

bc = barcode.code128("DATA")
png = bc.to_png(options=RenderOptions(
    scale=3.0,
    dpi=300,
    foreground_color="#003366",
    show_text=True,
))

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

Как библиотека обрабатывает контрольные цифры для штрих-кодов EAN и UPC?

По умолчанию библиотека вычисляет контрольную цифру автоматически. Указывайте только цифры полезной нагрузки (12 для EAN-13, 7 для EAN-8, 11 для UPC-A):

bc = barcode.ean13("590123412345")  # 12 digits — check digit computed

Чтобы задать предварительно вычисленную контрольную цифру, установите allow_check_digit_input=True:

from aspose_barcode_foss import Ean13Options

bc = barcode.ean13(
    "5901234123457",  # 13 digits with check digit
    encode=Ean13Options(allow_check_digit_input=True),
)

Известные ограничения

Поддерживается ли вывод в PDF?

Нет. Метод to_pdf() и класс PdfRenderer присутствуют в интерфейсе API, но вызывают NotImplementedError. Вместо этого используйте to_svg() или to_png(). Вывод в SVG можно встроить в PDF-документы с помощью внешних инструментов.

Поддерживаются ли стандарты ECI и GS1?

Пока нет. Классы EciHelper и Gs1Helper содержат заглушки методов, которые вызывают NotImplementedError. Свойства eci_assignment_number и gs1_enabled в EncodeOptions присутствуют, но не работают в текущем выпуске.

Может ли библиотека считывать или сканировать штрихкоды?

№ Aspose.BarCode FOSS for Python — это библиотека только для генерации. Она создаёт штрихкоды из данных, но не включает распознавание штрихкодов или возможности сканирования.

См. также:

 Русский