소개

우리는 출시합니다 Aspose.BarCode Python용 FOSS, 표준을 준수하는 1D 및 2D 바코드를 생성하기 위한 순수-Python 라이브러리입니다. 소스는 다음에서 확인할 수 있습니다 GitHub as aspose-barcode-foss, MIT 라이선스를 가지고 있으며 외부 종속성이 전혀 없습니다.

이 라이브러리는 일곱 가지 심볼을 지원합니다: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A, 그리고 UPC-E. 각 바코드는 SVG 또는 PNG로 직접 렌더링됩니다. 네이티브 확장이 없고, 설치할 시스템 패키지도 없으며, 그래픽 드라이버도 필요하지 않습니다 — Windows, Linux, macOS에서 소스 빌드가 가능합니다.


핵심 기능

고수준 API 생성

최상위 generate() 함수는 심볼 이름과 데이터 문자열을 받아 Barcode 객체를 반환합니다. 각 심볼 전용 헬퍼 — code128(), code39(), ean13(), ean8(), qr(), upca(), 및 upce() — 은 각 포맷에 대한 타입 안전 진입점을 제공합니다.

import aspose_barcode_foss as barcode

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

심볼별 인코드 옵션

각 심볼은 인코딩 동작을 제어하는 옵션 클래스를 허용합니다. Code128Optionsencode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC)을 제공합니다. Code39Options는 BASE 및 FULL_ASCII 모드를 지원합니다. QrOptionserror_correction_level (L, M, Q, H), version, mask, 및 encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI)를 노출합니다.

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),
)
png_bytes = bc.to_png()

렌더링 제어

RenderOptions는 시각 출력을 제어합니다: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family, 및 font_size. to_svg()to_png() 모두 선택적 RenderOptions 매개변수를 허용합니다.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions

bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
    scale=2.0,
    foreground_color="#003366",
    quiet_zone=10.0,
    show_text=True,
))

자동 체크 디짓

EAN-13, EAN-8, UPC-A, 및 UPC-E은 데이터 문자열에서 체크 디짓을 자동으로 계산합니다. 페이로드 숫자만 제공하면 라이브러리가 인코딩 중에 올바른 체크 디짓을 추가합니다.

입력 검증

각 심볼은 인코딩 전에 데이터를 검증하는 전용 InputParser을 가지고 있습니다. 잘못된 문자, 잘못된 길이 및 형식 위반은 InvalidInputError, EncodingError, SymbologyNotFoundError, UnsupportedCapabilityError와 같은 타입화된 예외로 초기에 포착됩니다 — 모두 BarcodeError를 상속합니다.


빠른 시작

git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .

Code 128 바코드를 생성하고 SVG를 파일에 기록합니다:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions

bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(show_text=True))

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

QR code을(를) 생성하고 PNG로 저장합니다:

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),
)

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

이 라이브러리는 Python 3.12 이상이 필요합니다.


지원되는 형식

Symbology유형체크 디짓옵션 클래스
Code 1281D내장Code128Options
Code 391DOptionalCode39Options
EAN-131DAutomaticEan13Options
EAN-81DAutomaticEan8Options
QR Code2D내장QrOptions
UPC-A1DAutomaticUpcaOptions
UPC-E1DAutomaticUpceOptions

출력 형식:

형식확장Export
SVG.svg
PNG.png

오픈 소스 및 라이선스

이 라이브러리는 MIT 라이선스를 따릅니다. 상업용 애플리케이션에서도 자유롭게 사용하고, 수정하며, 제한 없이 재배포할 수 있습니다. 소스는 GitHub에서 확인할 수 있습니다. 사용 단계나 토큰 제한, 텔레메트리가 없으며 모든 처리는 로컬에서 수행됩니다.


시작하기

관련 리소스