Как отобразить штрихкоды с Aspose.BarCode FOSS

Как отобразить штрихкоды с 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 Свойства

СвойствоТип:Описание:
scalefloatМножитель размера модуля
dpiintТочек на дюйм (растровый вывод)
module_widthfloatШирина одного модуля
module_heightfloatВысота одного модуля
quiet_zonefloatОтступ пустого пространства в модульных единицах
foreground_colorstrCSS цвет для панелей/модулей
background_colorstrCSS цвет для фона
transparent_backgroundboolПрозрачный PNG фон
show_textboolПоказать человекочитаемый текст
font_familystrШрифт для человекочитаемого текста
font_sizefloatРазмер шрифта для человекочитаемого текста

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

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

См. также:

 Русский