Quickstart

빠른 시작 — Aspose.BarCode Python용 FOSS

이 가이드는 가장 일반적인 세 가지 심볼리지를 사용하여 바코드를 생성하는 과정을 안내합니다: Code 128, QR Code, 및 EAN-13. 각 예제는 고수준 API, 심볼리별 인코드 옵션 및 렌더링 제어를 보여줍니다.


Code 128 바코드 생성

Code 128은 물류 및 운송에 사용되는 가변 길이 1D 심볼리입니다. code128() 헬퍼는 데이터 문자열과 선택적 Code128Options을(를) 받습니다:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode

bc = barcode.code128(
    "1234567890",
    encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = bc.to_svg()

with open("code128.svg", "w") as f:
    f.write(svg)

Code128EncodeMode.CODE_C은 숫자 전용 데이터에 최적화되어 있습니다 — 숫자 쌍을 단일 코드 포인트로 인코딩하여 더 짧은 바코드를 생성합니다.


QR Code 생성

QR Code은 오류 정정 및 다중 인코딩 모드를 지원하는 2D 심볼리입니다. QrOptions은 오류 정정 수준, 인코딩 모드, 버전 및 마스크 패턴을 제어합니다:

import aspose_barcode_foss as barcode
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,
    ),
)

with open("qr.png", "wb") as f:
    f.write(bc.to_png())

오류 정정 수준: L (7% 복구), M (15%), Q (25%), H (30%).


EAN-13 바코드 생성

EAN-13은 소매업에서 사용되는 고정 길이 1D 심볼입니다. 12개의 페이로드 숫자를 제공하면 — 라이브러리가 13번째 체크 디지털을 자동으로 계산합니다:

import aspose_barcode_foss as barcode

bc = barcode.ean13("590123412345")
svg = bc.to_svg()

with open("ean13.svg", "w") as f:
    f.write(svg)

사전 계산된 체크 디지털(전체 13자리)을 직접 제공하려면, allow_check_digit_input=True을 설정하십시오:

from aspose_barcode_foss import Ean13Options

bc = barcode.ean13(
    "5901234123457",
    encode=Ean13Options(allow_check_digit_input=True),
)

렌더링 사용자 지정

RenderOptions은 모든 심볼에 적용되며 시각 출력을 제어합니다. 이를 to_svg() 또는 to_png()에 전달하십시오:

import aspose_barcode_foss as barcode
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,
    font_family="Courier New",
))

with open("upca.png", "wb") as f:
    f.write(png)

사용 가능한 속성: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family, font_size.


일반 generate() API 사용

generate() 함수는 전용 헬퍼를 호출하는 대신 심볼로지 이름 문자열을 받아들입니다:

import aspose_barcode_foss as barcode

bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()

유효한 심볼로지 이름: "code128", "code39", "ean13", "ean8", "qr", "upca", "upce".


오류 처리

모든 검증은 인코딩 전에 수행됩니다. 잘못된 데이터나 호환되지 않는 옵션이 제공되면, 라이브러리는 타입이 지정된 예외를 발생시킵니다:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import InvalidInputError

try:
    bc = barcode.ean13("ABC")  # EAN-13 requires digits
except InvalidInputError as e:
    print(f"Invalid input: {e}")

예외 계층 구조:

Exception발생 시
InvalidInputError데이터에 심볼로지가 지원하지 않는 문자가 포함되어 있습니다.
EncodingError인코딩에 실패했습니다 (예: 데이터가 심볼로지 용량을 초과함)
SymbologyNotFoundError인식되지 않은 심볼로지 이름이 generate()에 전달되었습니다.
UnsupportedCapabilityError요청된 기능이 이 심볼에 대해 제공되지 않습니다

모든 예외 클래스는 BarcodeError을(를) 상속합니다.


지원되는 심볼로지

Symbology유형옵션 클래스핵심 속성
Code 1281DCode128Optionsencode_mode
Code 391DCode39Optionsfull_ascii, add_check_digit
EAN-131DEan13Optionsallow_check_digit_input
EAN-81DEan8Optionsallow_check_digit_input
QR Code2DQrOptionserror_correction_level, encoding_mode, version, mask
UPC-A1DUpcaOptionsallow_check_digit_input
UPC-E1DUpceOptionsallow_check_digit_input

출력 형식: SVG 및 PNG.


다음 단계

  • 개발자 가이드: 심볼별 인코드 옵션, 렌더링 제어 및 아키텍처
  • Features: 코드 예제가 포함된 전체 기능 개요
  • KB 기사: 사용 방법 가이드 및 FAQ

참조

 한국어