Aspose.BarCode FOSS 를 사용하여 바코드 생성하는 방법
Problem
데이터 문자열을 사용하여 Aspose.BarCode FOSS를 통해 Python용 1D 및 2D 바코드를 생성합니다. 이 라이브러리는 각 심볼별 헬퍼 함수(code128(), qr(), ean13() 등)와 심볼 이름 문자열을 받아들이는 일반 generate() 함수를 제공합니다.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()전제 조건
- Python 3.12 이상
- pip 패키지 관리자
aspose-barcode-foss를 소스에서 빌드
심볼별 도우미 사용
지원되는 각 심볼은 전용 도우미 함수를 가지고 있으며, 이 함수는 Barcode 객체를 반환합니다. 도우미는 입력을 검증하고 올바른 인코더를 자동으로 선택합니다.
import aspose_barcode_foss as barcode
# 1D barcodes
bc_128 = barcode.code128("ABC-123")
bc_39 = barcode.code39("HELLO")
bc_ean13 = barcode.ean13("590123412345")
bc_ean8 = barcode.ean8("1234567")
bc_upca = barcode.upca("01234567890")
bc_upce = barcode.upce("012345")
# 2D barcode
bc_qr = barcode.qr("https://example.com")범용 생성 함수 사용
generate() 함수는 첫 번째 인자로 심볼 이름 문자열을 받습니다. 이는 실행 시간에 심볼이 결정될 때 유용합니다.
import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Dynamic data")
svg = bc.to_svg()
# Also works with other symbology names
bc_qr = barcode.generate("qr", "https://example.com")
bc_ean = barcode.generate("ean13", "590123412345")생성과 인코드 옵션 결합
생성 중에 심볼별 옵션을 제어하려면 encode 매개변수를 전달하십시오.
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.Q),
)
svg = bc.to_svg()인코드된 심볼 읽기
Barcode 객체는 EncodedSymbol 유형의 symbol 속성을 노출하며, 이 속성에는 matrix (모듈 그리드를 가진 ModuleMatrix)와 metadata (심볼 이름, 표시 텍스트 및 정규화된 데이터를 포함하는 SymbolMetadata)가 포함됩니다.
import aspose_barcode_foss as barcode
bc = barcode.code128("Test")
symbol = bc.symbol
# Access the module matrix
print(f"Width: {symbol.matrix.width}")
print(f"Height: {symbol.matrix.height}")
# Access symbol metadata
print(f"Symbology: {symbol.metadata.symbology}")
print(f"Display text: {symbol.metadata.display_text}")출력 저장
Barcode을(를) 생성한 후, SVG 문자열은 to_svg()을 호출하고 PNG 바이트는 to_png()을 호출하십시오. 결과를 파일에 기록하십시오.
import aspose_barcode_foss as barcode
bc = barcode.code128("SAVE-ME")
# Save as SVG
with open("barcode.svg", "w") as f:
f.write(bc.to_svg())
# Save as PNG
with open("barcode.png", "wb") as f:
f.write(bc.to_png())지원되는 심볼
| Symbology | 유형 | 헬퍼 함수 | 옵션 클래스 |
|---|---|---|---|
| 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 |