Introduction
Aspose.BarCode FOSS for Python provides per-symbology option classes that control encoding behavior across all seven supported barcode formats. Each option class inherits from EncodeOptions và thêm các thuộc tính cụ thể vào biểu tượng của nó — mã 128 chế độ mã hóa, mã 39 ASCII lựa chọn, QR lỗi sửa chữa mức, và EAN / UPC kiểm tra xử lý số.
Bài viết này bao gồm mỗi lớp tùy chọn, thuộc tính của nó và ví dụ mã làm việc. Tất cả các lớp học có sẵn từ cấp cao nhất aspose_barcode_foss gói .
Các tính năng chính
Mã 128 Encode Modes
Code128Options điều khiển mà mã 128 ký tự đặt coder sử dụng. encode_mode Tài sản chấp nhận A Code128EncodeMode Giá trị Enum: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC,hoặc CODE_BC.AUTO tự động chọn mã hóa nhỏ gọn nhất.CODE_C được tối ưu hóa cho dữ liệu chỉ số (một cặp số được mã hoá như một điểm mã đơn).
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()
Mã 128 cũng hỗ trợ gs1_enabled và eci_assignment_number Tài sản được thừa hưởng từ EncodeOptions - Đối với GS1 và ECI metadata.
39 mã hóa
Code39Options kiểm tra xem mã hóa có sử dụng bộ định dạng 43 nhân vật cơ bản hay phần mở rộng ASCII đầy đủ. full_ascii=True để bật chế độ ASCII đầy đủ, mã hóa phạm vi AScII 128 tính bằng cách sử dụng cặp chuyển đổi. add_check_digit - Tính năng của modulo-43 check digit.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code39Options
bc = barcode.code39(
"Hello",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = bc.to_svg()
QR Code cấu hình
QrOptions cung cấp cấu hình nhiều nhất trong số tất cả các biểu tượng:
error_correction_level:QrErrorCorrectionLevel.L(7%) trong số đó,.M(Trung Quốc) 15 %,.Q25 % (tạm dịch:,.H(30%) Số lượngencoding_mode:QrEncodeMode.AUTO,.NUMERIC,.ALPHANUMERIC,.BYTE,.KANJIversion:Phiên bản QR (1–40), điều khiển kích thước biểu tượngmask: mô hình mặt nạ (0–7) cho việc lựa chọn thủ công
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,
),
)
png_bytes = bc.to_png()
EAN và UPC Check Digits
Ean13Options, Ean8Options, UpcaOptions, và UpceOptions Mỗi người có một allow_check_digit_input theo mặc định, thư viện tính toán số kiểm tự động từ dữ liệu. allow_check_digit_input=True Nếu dữ liệu của bạn đã bao gồm số kiểm tra.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import Ean13Options
# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
svg = bc.to_svg()
# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
"5901234123457",
encode=Ean13Options(allow_check_digit_input=True),
)
Rendering Options
RenderOptions áp dụng cho tất cả các biểu tượng và kiểm soát kết quả thị giác. to_svg() hoặc to_png():
| Property | Type | Description |
|---|---|---|
scale | float | Tỷ lệ đa số Uniform |
dpi | int | Quyết định về sản xuất PNG |
module_width | float | Mở rộng của một module barcode |
module_height | float | Độ cao của một module barcode |
quiet_zone | float | Whitespace padding xung quanh barcode |
foreground_color | str | Màu sắc Hex cho các thanh (ví dụ:., "#000000") |
background_color | str | Màu sắc Hex cho nền |
transparent_background | bool | Hình nền minh bạch cho PNG |
show_text | bool | Hiển thị văn bản đọc bằng người dưới mã thanh |
font_family | str | Tác giả: Man-readable text |
font_size | float | Kích thước phông chữ cho văn bản dễ đọc của con người |
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",
))
Xử lý Lỗi
Nếu dữ liệu không phù hợp hoặc các tùy chọn không tương thích được cung cấp, thư viện sẽ đưa ra một ngoại lệ đã viết trước khi bất kỳ mã hóa nào bắt đầu:
InvalidInputError- Dữ liệu chứa các ký tự không được hỗ trợ bởi biểu tượngEncodingError- lỗi mã hóa (ví dụ, dữ liệu vượt quá khả năng)SymbologyNotFoundError- Tên biểu tượng không được công nhận đã chuyển đếngenerate()UnsupportedCapabilityError- tính năng được yêu cầu không sẵn dùng cho biểu tượng này
Tất cả các lớp ngoại lệ được thừa hưởng từ BarcodeError.
Khởi động nhanh
pip install aspose-barcode-foss
Tạo mã thanh với các tùy chọn mã hóa khác nhau và lưu chúng:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import (
Code128Options, Code128EncodeMode,
QrOptions, QrErrorCorrectionLevel,
RenderOptions,
)
# Code 128 in CODE_C mode (compact digit encoding)
c128 = barcode.code128(
"9876543210",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
with open("code128.svg", "w") as f:
f.write(c128.to_svg())
# QR with high error correction
qr = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
with open("qr.png", "wb") as f:
f.write(qr.to_png(options=RenderOptions(scale=4.0)))
# EAN-13 with custom colors
ean = barcode.ean13("590123412345")
with open("ean13.svg", "w") as f:
f.write(ean.to_svg(options=RenderOptions(
foreground_color="#003366",
show_text=True,
)))
Các định dạng hỗ trợ
| Symbology | Type | Options lớp học | Tài sản chính |
|---|---|---|---|
| Mã 128 | 1D | Code128Options | encode_mode |
| Mã 39 | 1D | Code39Options | full_ascii, add_check_digit |
| EAN-13 | 1D | Ean13Options | allow_check_digit_input |
| EAN-8 | 1D | Ean8Options | allow_check_digit_input |
| Mã QR | 2D | QrOptions | error_correction_level, encoding_mode, version, mask |
| UPC-A | 1D | UpcaOptions | allow_check_digit_input |
| UPC-E | 1D | UpceOptions | allow_check_digit_input |
Các định dạng xuất khẩu:
| Format | Extension | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
Open Source & Giấy phép
Aspose.BarCode FOSS for Python is MIT licensed. The source is available on GitHub gói cài đặt từ PyPI Với pip install aspose-barcode-foss.Không có phụ thuộc bản địa, không có telemetry, chưa có giới hạn sử dụng.
bắt đầu
- bắt đầu
- Hướng dẫn dành cho nhà phát triển
- Bài viết KB
- Tham chiếu API
- PyPI: aspose-barcode-foss (tạm dịch: mã cờ)