バーコードを 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 プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
scale | float | モジュールサイズの倍率 |
dpi | int | ドット・パー・インチ(ラスター出力) |
module_width | float | 1モジュールの幅 |
module_height | float | 1モジュールの高さ |
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 文書に埋め込むことができます。