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)オプション概要
| Symbology | Options クラス | キー プロパティ |
|---|---|---|
| Code 128 | Code128Options | encode_mode |
| Code 39 | Code39Options | full_ascii, add_check_digit |
| EAN-13 | Ean13Options | allow_check_digit_input |
| EAN-8 | Ean8Options | allow_check_digit_input |
| QR Code | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | UpcaOptions | allow_check_digit_input |
| UPC-E | UpceOptions | number_system, allow_check_digit_input |