Aspose.BarCode FOSS でエンコードオプションを構成する方法

Aspose.BarCode FOSS でエンコードオプションを構成する方法

Problem

各バーコードシンボルはそれぞれ独自のエンコード規則を持っています — QR Code のエラー訂正レベル、Code 128 のエンコードモード、EAN/UPC のチェックディジット処理です。Aspose.BarCode FOSS for Python はシンボルごとに専用のオプションクラスを提供しており、生成時にこれらのパラメータを制御できます。

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.H),
)
svg = bc.to_svg()

前提条件

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

QR Code オプション

QrOptions クラスは QR Code エンコーディングを制御します。error_correction_level を QrErrorCorrectionLevel.L、M、Q、または H のいずれかに設定します。レベルが高くなるほど冗長性が増し、シンボルが大きくなります。encoding_mode を使用して特定の QR データモード(QrEncodeMode.NUMERIC、ALPHANUMERIC、BYTE、または KANJI)を選択するか、AUTO のままにして自動選択にします。version プロパティ(1〜40)はシンボルサイズを制御し、mask(0〜7)はマスクパターンを上書きします。

from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode

options = QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H,
    encoding_mode=QrEncodeMode.BYTE,
    version=5,
)
bc = barcode.qr("DATA", encode=options)

Code 128 オプション

Code128Options クラスは Code128EncodeMode からの値(AUTO、CODE_A、CODE_B、CODE_C、CODE_AB、CODE_AC、CODE_BC)で encode_mode を公開します。AUTO モードでは、エンコーダが最短の表現を選択します。特定のサブセットに限定する(例: 数字のみのデータ用に CODE_C)ことで、シンボル幅を削減できます。

from aspose_barcode_foss import Code128Options, Code128EncodeMode

options = Code128Options(encode_mode=Code128EncodeMode.CODE_C)
bc = barcode.code128("123456", encode=options)

Code 39 オプション

Code39Options クラスには2つの主要プロパティがあります: full_ascii はフルASCIIエンコーディング(大文字と数字を超える拡張文字セット)を有効にし、add_check_digit はシンボルに modulo-43 チェックデジットを付加します。

from aspose_barcode_foss import Code39Options

options = Code39Options(full_ascii=True, add_check_digit=True)
bc = barcode.code39("Hello", encode=options)

EAN と UPC のチェックデジットオプション

Ean13Options、Ean8Options、UpcaOptions、および UpceOptions はすべて allow_check_digit_input をサポートします。デフォルトでは、ライブラリがチェックデジットを自動的に計算します — ペイロードの数字だけを提供してください(EAN-13 は 12 桁、EAN-8 は 7 桁、UPC-A は 11 桁)。allow_check_digit_input=True を設定すると、入力の一部として事前に計算されたチェックデジットを渡すことができます。

from aspose_barcode_foss import Ean13Options

# Auto-compute check digit (12 digits)
bc = barcode.ean13("590123412345")

# Pre-computed check digit (13 digits)
bc = barcode.ean13(
    "5901234123457",
    encode=Ean13Options(allow_check_digit_input=True),
)

UPC-E 番号体系

UpceOptions は number_system プロパティを追加します。UPC-E バーコードは番号体系「0」または「1」を使用します。このプロパティを設定して、エンコーダが使用する番号体系プレフィックスを制御します。

from aspose_barcode_foss import UpceOptions

options = UpceOptions(number_system="0", allow_check_digit_input=False)
bc = barcode.upce("012345", encode=options)

オプション概要

SymbologyOptions クラスキー プロパティ
Code 128Code128Optionsencode_mode
Code 39Code39Optionsfull_ascii, add_check_digit
EAN-13Ean13Optionsallow_check_digit_input
EAN-8Ean8Optionsallow_check_digit_input
QR CodeQrOptionserror_correction_level, encoding_mode, version, mask
UPC-AUpcaOptionsallow_check_digit_input
UPC-EUpceOptionsnumber_system, allow_check_digit_input

参照

 日本語