특징 및 기능

기능 및 특성

Aspose.BarCode FOSS for Python은 7가지 바코드 심볼로지를 생성하기 위한 고수준 API을 제공하며, 심볼로지별 인코드 옵션 및 렌더링 제어 기능을 포함합니다. 이 페이지는 모든 기능 영역에 대한 주요 참고 자료입니다.


지원되는 심볼로지

이 라이브러리는 전용 헬퍼 함수와 일반적인 generate() 진입점을 통해 7가지 심볼로지를 지원합니다:

Symbology유형Helper옵션 클래스
Code 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
QR Code2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()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_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (기호 크기 제어)
maskint0–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()에 전달하십시오:

속성유형설명
scalefloat균일 스케일 배율
dpiintPNG 출력 해상도
module_widthfloat바코드 모듈 하나의 너비
module_heightfloat바코드 모듈 하나의 높이
quiet_zonefloat바코드 주변의 공백 패딩
foreground_colorstr막대 색상의 Hex 코드 (예: "#000000")
background_colorstr배경 색상의 Hex 코드
transparent_backgroundboolPNG용 투명 배경
show_textbool바코드 아래에 사람이 읽을 수 있는 텍스트 표시
font_familystr사람이 읽을 수 있는 텍스트용 글꼴
font_sizefloat사람이 읽을 수 있는 텍스트용 글꼴 크기
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,
))

출력 형식

형식메서드반환 유형
SVGto_svg()str
PNGto_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 — 모듈 매트릭스와 메타데이터를 포함하는 EncodedSymbol
  • profile — 기본값 및 기능을 포함하는 SymbologyProfile

API Reference 요약

클래스설명
Barcode공개 바코드 객체와 to_svg() 및 to_png()
Code128OptionsCode 128에 대한 인코딩 옵션 (encode_mode)
Code39OptionsCode 39에 대한 인코딩 옵션 (full_ascii, add_check_digit)
QrOptionsQR Code에 대한 인코딩 옵션 (error_correction_level, encoding_mode, version, mask)
Ean13OptionsEAN-13에 대한 인코딩 옵션 (allow_check_digit_input)
Ean8OptionsEAN-8에 대한 인코딩 옵션 (allow_check_digit_input)
UpcaOptionsUPC-A에 대한 인코딩 옵션 (allow_check_digit_input)
UpceOptionsUPC-E에 대한 인코딩 옵션 (allow_check_digit_input, number_system)
RenderOptions시각 출력 제어(스케일, DPI, 색상, 텍스트)
EncodeOptions특정 심볼에 대한 인코딩 옵션을 위한 기본 유형
BarcodeError바코드 라이브러리를 위한 기본 예외

참조

 한국어