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에서 오는 값들로 encode_mode을(를) 노출합니다: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC. 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 클래스에는 두 가지 주요 속성이 있습니다: 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 | 옵션 클래스 | 핵심 속성 |
|---|---|---|
| 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 |