특징 및 기능
기능 및 특성
Aspose.BarCode FOSS for Python은 7가지 바코드 심볼로지를 생성하기 위한 고수준 API을 제공하며, 심볼로지별 인코드 옵션 및 렌더링 제어 기능을 포함합니다. 이 페이지는 모든 기능 영역에 대한 주요 참고 자료입니다.
지원되는 심볼로지
이 라이브러리는 전용 헬퍼 함수와 일반적인 generate() 진입점을 통해 7가지 심볼로지를 지원합니다:
| Symbology | 유형 | Helper | 옵션 클래스 |
|---|---|---|---|
| Code 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| QR Code | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |
import aspose_barcode_foss as barcode
# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
# Generic API
bc_gen = barcode.generate("ean13", "590123412345")Code 128 인코드 모드
Code128Options는 인코더가 사용하는 Code 128 문자 집합을 제어합니다. encode_mode 속성은 Code128EncodeMode 열거형 값을 허용합니다:
AUTO— 가장 컴팩트한 인코딩을 자동으로 선택합니다CODE_A,CODE_B,CODE_C— 단일 문자 집합으로 제한CODE_AB,CODE_AC,CODE_BC— 두 문자 집합 간 전환 허용
from aspose_barcode_foss import Code128Options, Code128EncodeMode
bc = barcode.code128(
"1234567890",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)Code 39 인코딩
Code39Options은 인코더가 기본 43문자 집합을 사용할지 전체 ASCII 확장을 사용할지 제어합니다:
full_ascii—True으로 설정하면 시프트 쌍을 사용해 전체 128문자 ASCII 범위를 인코딩합니다add_check_digit— modulo-43 체크 디지트를 추가합니다
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)QR Code 구성
QrOptions은 모든 심볼 중 가장 많은 구성을 제공합니다:
| 속성 | 유형 | Values |
|---|---|---|
error_correction_level | QrErrorCorrectionLevel | L (7%), M (15%), Q (25%), H (30%) |
encoding_mode | QrEncodeMode | AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
version | int | 1–40 (기호 크기 제어) |
mask | int | 0–7 (수동 마스크 패턴 선택) |
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
bc = barcode.qr(
"https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.Q,
encoding_mode=QrEncodeMode.BYTE,
),
)EAN 및 UPC 검증 숫자
Ean13Options, Ean8Options, UpcaOptions, 그리고 UpceOptions은 각각 allow_check_digit_input 속성을 가지고 있습니다. 기본적으로 라이브러리는 체크 디짓을 자동으로 계산합니다. 데이터에 이미 포함되어 있다면 allow_check_digit_input=True을 설정하세요.
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)렌더링 제어
RenderOptions은 모든 심볼에 적용되며 시각적 출력을 제어합니다. to_svg() 또는 to_png()에 전달하십시오:
| 속성 | 유형 | 설명 |
|---|---|---|
scale | float | 균일 스케일 배율 |
dpi | int | PNG 출력 해상도 |
module_width | float | 바코드 모듈 하나의 너비 |
module_height | float | 바코드 모듈 하나의 높이 |
quiet_zone | float | 바코드 주변의 공백 패딩 |
foreground_color | str | 막대 색상의 Hex 코드 (예: "#000000") |
background_color | str | 배경 색상의 Hex 코드 |
transparent_background | bool | PNG용 투명 배경 |
show_text | bool | 바코드 아래에 사람이 읽을 수 있는 텍스트 표시 |
font_family | str | 사람이 읽을 수 있는 텍스트용 글꼴 |
font_size | float | 사람이 읽을 수 있는 텍스트용 글꼴 크기 |
from aspose_barcode_foss import RenderOptions
bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
scale=3.0,
dpi=300,
foreground_color="#1a1a1a",
background_color="#ffffff",
show_text=True,
))출력 형식
| 형식 | 메서드 | 반환 유형 |
|---|---|---|
| SVG | to_svg() | str |
| PNG | to_png() | bytes |
두 메서드 모두 선택적 RenderOptions 매개변수를 허용합니다.
오류 처리
모든 인코드 옵션 검증은 파싱 시점에 수행됩니다. 라이브러리는 인코딩이 시작되기 전에 타입이 지정된 예외를 발생시킵니다:
| Exception | 발생 시 |
|---|---|
InvalidInputError | 데이터에 해당 심볼리에서 지원되지 않는 문자가 포함되어 있습니다. |
EncodingError | 인코딩이 실패했습니다 (예: 데이터가 용량을 초과함) |
SymbologyNotFoundError | 인식되지 않은 심볼리 이름이 generate()에 전달되었습니다. |
UnsupportedCapabilityError | 요청한 기능은 이 심볼리에서 사용할 수 없습니다. |
모든 예외 클래스는 BarcodeError을(를) 상속합니다.
from aspose_barcode_foss import InvalidInputError
try:
bc = barcode.ean13("ABC")
except InvalidInputError as e:
print(f"Invalid input: {e}")입력 검증
각 심볼로지는 인코딩 전에 데이터를 검증하는 전용 InputParser을(를) 가지고 있습니다. 파서는 각 심볼로지에 특화된 문자 집합, 길이 및 형식 요구사항을 확인합니다. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser, 및 UpceInputParser은(는) 각각의 헬퍼 함수에서 내부적으로 사용됩니다.
바코드 객체
모든 헬퍼 함수가 반환하는 Barcode 객체는 다음을 제공합니다:
to_svg(options)— SVG 문자열로 렌더링to_png(options)— PNG 바이트로 렌더링render(renderer, options)— 특정Renderer구현을 사용하여 렌더링symbol— 모듈 매트릭스와 메타데이터를 포함하는EncodedSymbolprofile— 기본값 및 기능을 포함하는SymbologyProfile
API Reference 요약
| 클래스 | 설명 |
|---|---|
Barcode | 공개 바코드 객체와 to_svg() 및 to_png() |
Code128Options | Code 128에 대한 인코딩 옵션 (encode_mode) |
Code39Options | Code 39에 대한 인코딩 옵션 (full_ascii, add_check_digit) |
QrOptions | QR Code에 대한 인코딩 옵션 (error_correction_level, encoding_mode, version, mask) |
Ean13Options | EAN-13에 대한 인코딩 옵션 (allow_check_digit_input) |
Ean8Options | EAN-8에 대한 인코딩 옵션 (allow_check_digit_input) |
UpcaOptions | UPC-A에 대한 인코딩 옵션 (allow_check_digit_input) |
UpceOptions | UPC-E에 대한 인코딩 옵션 (allow_check_digit_input, number_system) |
RenderOptions | 시각 출력 제어(스케일, DPI, 색상, 텍스트) |
EncodeOptions | 특정 심볼에 대한 인코딩 옵션을 위한 기본 유형 |
BarcodeError | 바코드 라이브러리를 위한 기본 예외 |