Aspose.BarCode FOSS を使用したバーコードの生成方法

Aspose.BarCode FOSS を使用したバーコードの生成方法

Problem

データ文字列から 1D および 2D バーコードを Aspose.BarCode FOSS を使用して Python 用に生成します。ライブラリは、シンボロジーごとのヘルパー関数(code128()、qr()、ean13() など)と、シンボロジー名文字列を受け取る汎用 generate() 関数を提供します。

import aspose_barcode_foss as barcode

bc = barcode.code128("Hello World")
svg = bc.to_svg()

前提条件

  • Python 3.12 以降
  • pip パッケージマネージャー
  • aspose-barcode-foss をソースからビルド

シンボロジー別ヘルパーの使用

サポートされている各シンボロジーには、Barcode オブジェクトを返す専用のヘルパー関数があります。ヘルパーは入力を検証し、適切なエンコーダを自動的に選択します。

import aspose_barcode_foss as barcode

# 1D barcodes
bc_128 = barcode.code128("ABC-123")
bc_39 = barcode.code39("HELLO")
bc_ean13 = barcode.ean13("590123412345")
bc_ean8 = barcode.ean8("1234567")
bc_upca = barcode.upca("01234567890")
bc_upce = barcode.upce("012345")

# 2D barcode
bc_qr = barcode.qr("https://example.com")

汎用生成関数の使用

generate() 関数は、最初の引数としてシンボロジー名の文字列を受け取ります。これは、シンボロジーが実行時に決定される場合に便利です。

import aspose_barcode_foss as barcode

bc = barcode.generate("code128", "Dynamic data")
svg = bc.to_svg()

# Also works with other symbology names
bc_qr = barcode.generate("qr", "https://example.com")
bc_ean = barcode.generate("ean13", "590123412345")

生成とエンコードオプションの組み合わせ

生成時にシンボロジー固有のオプションを制御するために、encode パラメータを渡します。

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.Q),
)
svg = bc.to_svg()

エンコードされたシンボルの読み取り

Barcode オブジェクトは、タイプが EncodedSymbol の symbol プロパティを公開しており、そこには matrix(モジュールグリッドを持つ ModuleMatrix)と metadata(シンボロジー名、表示テキスト、正規化データを持つ SymbolMetadata)が含まれます。

import aspose_barcode_foss as barcode

bc = barcode.code128("Test")
symbol = bc.symbol

# Access the module matrix
print(f"Width: {symbol.matrix.width}")
print(f"Height: {symbol.matrix.height}")

# Access symbol metadata
print(f"Symbology: {symbol.metadata.symbology}")
print(f"Display text: {symbol.metadata.display_text}")

出力の保存

Barcode を生成した後、SVG 文字列の場合は to_svg() を、PNG バイトの場合は to_png() を呼び出します。結果をファイルに書き込みます。

import aspose_barcode_foss as barcode

bc = barcode.code128("SAVE-ME")

# Save as SVG
with open("barcode.svg", "w") as f:
    f.write(bc.to_svg())

# Save as PNG
with open("barcode.png", "wb") as f:
    f.write(bc.to_png())

対応シンボロジー

Symbology型ヘルパー関数オプションクラス
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()UpceOptions

参照

 日本語