소개
우리는 출시합니다 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()
심볼별 인코드 옵션
각 심볼은 인코딩 동작을 제어하는 옵션 클래스를 허용합니다. Code128Options는 encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC)을 제공합니다. Code39Options는 BASE 및 FULL_ASCII 모드를 지원합니다. QrOptions는 error_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 128 | 1D | 내장 | Code128Options |
| Code 39 | 1D | Optional | Code39Options |
| EAN-13 | 1D | Automatic | Ean13Options |
| EAN-8 | 1D | Automatic | Ean8Options |
| QR Code | 2D | 내장 | QrOptions |
| UPC-A | 1D | Automatic | UpcaOptions |
| UPC-E | 1D | Automatic | UpceOptions |
출력 형식:
| 형식 | 확장 | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
오픈 소스 및 라이선스
이 라이브러리는 MIT 라이선스를 따릅니다. 상업용 애플리케이션에서도 자유롭게 사용하고, 수정하며, 제한 없이 재배포할 수 있습니다. 소스는 GitHub에서 확인할 수 있습니다. 사용 단계나 토큰 제한, 텔레메트리가 없으며 모든 처리는 로컬에서 수행됩니다.