Часто задаваемые вопросы
Лицензирование и открытый исходный код
Какую лицензию использует 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 128 | 1D | Code128Options |
| Code 39 | 1D | Code39Options |
| EAN-13 | 1D | Ean13Options |
| EAN-8 | 1D | Ean8Options |
| QR Code | 2D | QrOptions |
| UPC-A | 1D | UpcaOptions |
| UPC-E | 1D | UpceOptions |
У каждой символьной системы есть выделенная вспомогательная функция (code128(), code39(), ean13(), ean8(), qr(), upca(), upce()) и обобщённая функция generate(), которая принимает строку с именем символьной системы.
Какие форматы вывода доступны?
Библиотека рендерит штрихкоды в SVG и PNG:
to_svg()— возвращает строку SVGto_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 — это библиотека только для генерации. Она создаёт штрихкоды из данных, но не включает распознавание штрихкодов или возможности сканирования.