Как отобразить штрихкоды с Aspose.BarCode FOSS
Problem
После генерации штрихкода вам необходимо отобразить его в виде файла изображения. Aspose.BarCode FOSS для Python выводит штрихкоды в форматы SVG и PNG с помощью методов to_svg() и to_png() объекта Barcode. Класс RenderOptions управляет визуальными свойствами, такими как масштаб, DPI, цвета, зона тишины и отображение читаемого человеком текста.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.code128("RENDER-ME")
png = bc.to_png(options=RenderOptions(scale=2.0, dpi=300))Требования
- Python 3.12 или новее
- менеджер пакетов pip
aspose-barcode-foss, собранный из исходного кода
Вывод SVG
Вызовите to_svg(), чтобы получить штрих-код в виде строки SVG. Вывод SVG основан на векторной графике и масштабируется без потери качества.
import aspose_barcode_foss as barcode
bc = barcode.qr("https://example.com")
svg_string = bc.to_svg()
with open("barcode.svg", "w") as f:
f.write(svg_string)Вывод PNG
Вызовите to_png(), чтобы получить штрих-код в виде байтов PNG. Вывод PNG растеризуется с указанным масштабом и DPI.
import aspose_barcode_foss as barcode
bc = barcode.code128("PNG-OUTPUT")
png_bytes = bc.to_png()
with open("barcode.png", "wb") as f:
f.write(png_bytes)Управление масштабом и DPI
Используйте RenderOptions, чтобы установить scale (множитель с плавающей точкой для размера модуля) и dpi (точек на дюйм для растрового вывода). Вы также можете напрямую задать module_width и module_height для точного контроля над размерами отдельных модулей.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
scale=3.0,
dpi=300,
module_width=1.5,
module_height=25.0,
)
png = bc.to_png(options=options)Настройка цветов
Установите foreground_color и background_color как строки цветов CSS. Используйте transparent_background=True для вывода PNG без заливки фона.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
foreground_color="#003366",
background_color="#FFFFFF",
)
svg = bc.to_svg(options=options)
# Transparent background for PNG
options_transparent = RenderOptions(
foreground_color="#000000",
transparent_background=True,
)
png = bc.to_png(options=options_transparent)Тихая зона
Свойство quiet_zone управляет полем пустого пространства вокруг штрих-кода в модулях. Стандарты штрих-кодов обычно требуют минимальную тихую зону для надёжного считывания.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)Текст, читаемый человеком
Установите show_text=True, чтобы отображать читаемый человеком текст под штрих-кодом. Управляйте шрифтом с помощью font_family и font_size.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(
show_text=True,
font_family="monospace",
font_size=12.0,
)
svg = bc.to_svg(options=options)RenderOptions Свойства
| Свойство | Тип: | Описание: |
|---|---|---|
scale | float | Множитель размера модуля |
dpi | int | Точек на дюйм (растровый вывод) |
module_width | float | Ширина одного модуля |
module_height | float | Высота одного модуля |
quiet_zone | float | Отступ пустого пространства в модульных единицах |
foreground_color | str | CSS цвет для панелей/модулей |
background_color | str | CSS цвет для фона |
transparent_background | bool | Прозрачный PNG фон |
show_text | bool | Показать человекочитаемый текст |
font_family | str | Шрифт для человекочитаемого текста |
font_size | float | Размер шрифта для человекочитаемого текста |
Известные ограничения
Метод to_pdf() и класс PdfRenderer существуют в API, но вызывают NotImplementedError. Вместо этого используйте to_svg() или to_png(). Вывод SVG можно встроить в PDF-документы с помощью внешних инструментов.