バーコードを Aspose.BarCode FOSS でレンダリングする方法

バーコードを Aspose.BarCode FOSS でレンダリングする方法

Problem

バーコードを生成した後、画像ファイルとしてレンダリングする必要があります。Aspose.BarCode FOSS for Python は、Barcode オブジェクトの to_svg() と to_png() メソッドを使用して、バーコードを SVG および PNG 形式にレンダリングします。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(ラスタ出力の 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 カラー文字列として設定します。背景塗りなしの PNG 出力には transparent_background=True を使用してください。

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_widthfloat1モジュールの幅
module_heightfloat1モジュールの高さ
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 文書に埋め込むことができます。

参照

 日本語