Chọn một biểu tượng Barcode
Chọn một biểu tượng Barcode
Aspose.BarCode FOSS for Python supports seven symbologies. Each is suited to different data types, scanning environments, and industry standards. This guide covers the characteristics of each symbology and when to use it.
Symbology tổng quan
| Symbology | Type | Character Set Đề | Dữ liệu Capacity | Kiểm tra Digital |
|---|---|---|---|---|
| Mã 128 | 1D | Full ASCII (128 ký tự) | chiều dài thay đổi | Tự động (mod-103) |
| Mã 39 | 1D | A-Z, 0–9, và 7 ký tự đặc biệt (base); đầy đủ ASCII (tăng) | chiều dài thay đổi | Optional |
| EAN-13 | 1D | Chỉ số (0–9) | 12 data digits + 1 check digit | Automatic |
| EAN-8 | 1D | Chỉ số (0–9) | 7 data digits + 1 check digit | Automatic |
| Mã QR | 2D | Số, alphanumeric, byte và Kanji | Tối đa 7,089 số / 4,296 alphanumeric | Tự động (Reed-Solomon) |
| UPC-A | 1D | Chỉ số (0–9) | 11 data digits + 1 check digit | Automatic |
| UPC-E | 1D | Chỉ số (0–9) | 6 data digits (compressed UPC-A) | Automatic |
Mã 128
Mã 128 mã hóa toàn bộ ASCII ký tự được thiết lập với độ dày cao. nó sử dụng ba tập hợp ký hiệu (A, B, C) và chuyển đổi giữa chúng một cách tự động trong AUTO Thời trang.
Tốt nhất cho: nhãn kho, nhàn vận chuyển, dữ liệu alphanumeric chung.
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Code128Options, Code128EncodeMode
service = BarcodeService()
# Auto mode — library selects optimal character sets
barcode = service.generate("code128", "INV-2026-00451")
# Force Code C for all-numeric data (higher density)
barcode = service.generate(
"code128", "123456789012",
encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = barcode.to_svg()Mã 39
Code 39 hỗ trợ các chữ cái, số và 7 ký tự đặc biệt ở chế độ cơ bản. full_ascii=True để mã hóa toàn bộ phạm vi ASCII. Một số kiểm tra tùy chọn có thể được thêm qua add_check_digit.
Tốt nhất cho: nhãn công nghiệp, ID chính phủ / quân sự (LOGMARS), và môi trường nơi đơn giản là quan trọng hơn mật độ.
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Code39Options
service = BarcodeService()
# Base mode — uppercase + digits + special chars
barcode = service.generate("code39", "PART-A1234")
# Full ASCII mode with check digit
barcode = service.generate(
"code39", "Part-a1234",
encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = barcode.to_svg()EAN-13
EAN-13 là mã thanh tiêu chuẩn cho các sản phẩm bán lẻ bên ngoài Bắc Mỹ. nó mã hóa chính xác 12 số dữ liệu; con số 13 là một con dấu kiểm toán tự động. Ean13Options Kiểm tra hành vi nhập số.
Tốt nhất cho: xác định sản phẩm bán lẻ, hàng hóa thương mại quốc tế (GTIN-13).
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import Ean13Options
service = BarcodeService()
# 12 data digits — check digit computed
barcode = service.generate("ean13", "590123412345")
# With rendering options for human-readable text
from aspose_barcode_foss import RenderOptions
svg = barcode.to_svg(RenderOptions(show_text=True, scale=2.0))EAN-8
EAN-8 là phiên bản nhỏ gọn của Ean-13, được sử dụng trên các gói bán lẻ nhỏ nơi không gian hạn chế. nó mã hóa 7 số dữ liệu cộng với 1 số kiểm tra.
Tốt nhất cho: sản phẩm bán lẻ nhỏ, các mặt hàng với không gian nhãn hạn chế.
from aspose_barcode_foss import BarcodeService
service = BarcodeService()
barcode = service.generate("ean8", "9638507")
svg = barcode.to_svg()Mã QR
QR Code là một biểu tượng 2D mà lưu trữ số lượng lớn dữ liệu trong một khu vực nhỏ. nó hỗ trợ bốn chế độ mã hóa thông qua QrEncodeMode: NUMERIC, ALPHANUMERIQUE, BYTE và KANJI. lỗi sửa chữa có thể được cấu hình thông qua QrErrorCorrectionLevel (L, M, Q, H).
Tốt nhất cho: URL, ứng dụng di động, tài liệu tiếp thị và bất kỳ trường hợp sử dụng nào đòi hỏi khả năng dữ liệu cao hoặc các ký tự không ASCII.
from aspose_barcode_foss import BarcodeService
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode
service = BarcodeService()
# Default settings
barcode = service.generate("qrcode", "https://example.com")
# High error correction for printed labels
barcode = service.generate(
"qrcode", "https://example.com/product/12345",
encode=QrOptions(
error_correction_level=QrErrorCorrectionLevel.H,
encoding_mode=QrEncodeMode.BYTE,
),
)
png = barcode.to_png()UPC-A
UPC-A là mã thanh tiêu chuẩn cho các sản phẩm bán lẻ ở Bắc Mỹ. nó mã hóa 11 số dữ liệu cộng với 1 số kiểm tra. U PC- A là một phần phụ của EAN-13 với một số lượng zero hàng đầu.
Tốt nhất cho: Đánh giá sản phẩm bán lẻ Bắc Mỹ (GTIN-12).
service = BarcodeService() barcode = service.generate(“upca”, “01234567890”) svg = barcode.to_svg()
---
### UPC-E
UPC-E là một hình thức nén của U PC-A cho các mặt hàng bán lẻ nhỏ. Nó mã hóa 6 số dữ liệu bằng cách xóa zer từ toàn bộ đại diện UCC- A.
Tốt nhất cho: các mặt hàng bán lẻ nhỏ, phiếu giảm giá và nhãn nơi không gian hạn chế.
service = BarcodeService()
barcode = service.generate("upce", "0123456")
svg = barcode.to_svg()Hướng dẫn quyết định
Sử dụng bảng này để chọn biểu tượng phù hợp cho ứng dụng của bạn:
| Sử dụng Case | Symbology đề xuất | Reason |
|---|---|---|
| kho lưu trữ inventory | Mã 128 | ASCII đầy đủ, độ dày cao, chiều dài biến động |
| Tag / logs / logo | Mã 39 | - Việc chấp nhận rộng rãi trong hệ thống chính phủ |
| Trung Quốc Retail | EAN-13 | Tiêu chuẩn GTIN-13 |
| Nhỏ bán lẻ đóng gói | EAN-8 hoặc UPC-E | - Kích thước vật lý nhỏ gọn |
| Bắc Mỹ bán lẻ | UPC-A | Tiêu chuẩn GTIN-12 |
| URL và các liên kết di động | Mã QR | Công suất cao, 2D scan |
| Marketing và Printing | Mã QR | Scannable qua camera điện thoại |
| Số serial all-numeric | Mã 128 (Mã C) | Dung lượng cao nhất cho dữ liệu số |
Mẹo và Thực hành Tốt nhất
- Sử dụng mã 128 như là mặc định cho các nhãn mục tiêu chung – nó cung cấp tỷ lệ độ dày nhất với tương thích giữa các biểu tượng 1D.
- Đối với các sản phẩm bán lẻ, sử dụng biểu tượng yêu cầu của thị trường: EAN-13 cho quốc tế, UPC-A cho Bắc Mỹ
- Set Đặt
QrErrorCorrectionLevel.HĐối với mã QR sẽ được in trên các nhãn bị hư hại hoặc thiệt hại một phần - Luôn luôn để thư viện máy tính kiểm tra các số tự động thay vì cung cấp chúng bằng tay.
- Sử dụng
show_text=TruetrongRenderOptionscho các nhãn dễ đọc của con người để các nhà khai thác có thể xác minh dữ liệu quét trực quan
Các vấn đề thường gặp
| Issue | Cause | Fix Đặt |
|---|---|---|
InvalidInputError Đánh giá EAN-13 | Các nhân vật không số trong dữ liệu | EAN-13 chỉ chấp nhận số 0–9 |
InvalidInputError Mã 39 | Lời bài hát: Lowercase in Basic Mode | Set Đặt Code39Options(full_ascii=True) |
| Mã QR quá lớn | Phiên bản quá thấp cho chiều dài dữ liệu | Cho thư viện tự chọn phiên bản, hoặc tăng QrOptions.version |
UPC-E InvalidInputError | Dữ liệu không phù hợp với mô hình xóa zero | Kiểm tra định dạng UPC-E 6 chữ số hoặc sử dụng U PC-A thay vì |
FAQ
Tôi có thể sử dụng mã 128 cho dữ liệu số toàn bộ không?
Mã số: 128 mã C (Code128EncodeMode.CODE_C) được tối ưu hóa cho dữ liệu số, mã hóa cặp chữ số trong một biểu tượng duy nhất để độ dày tối đa.
Sự khác biệt giữa EAN-13 và UPC-A là gì?
UPC-A là một bộ phận 12 chữ số của EAN-13. Một mã U PC- A có thể được trình bày như một Ean-13 với một số lượng zero hàng đầu.
Tính biểu tượng nào hỗ trợ nhiều nhất dữ liệu?
Mã QR hỗ trợ đến 7.089 ký tự số hoặc 4.296 ký hiệu alphanumeric. Tất cả các biểu tượng 1D trong thư viện này hỗn hợp dữ liệu chiều dài biến, nhưng mã QR có khả năng cao nhất.
Tôi có thể kết hợp các biểu tượng trong một ứng dụng duy nhất không?
Có. tạo một BarcodeService trường hợp và gọi điện thoại generate() với các tên biểu tượng khác nhau cho mỗi mã thanh. dịch vụ giải quyết mỗi biểu đồ thông qua SymbologyRegistry.
Tóm tắt Tham chiếu API
| Class / Phương pháp | Description |
|---|---|
BarcodeService.generate(symbology, data, encode, render) | Tạo mã thanh cho bất kỳ biểu tượng đăng ký nào |
Code128Options | Tùy chọn mã hóa cho Mã 128 (độ mã, GS1, ECI) |
Code128EncodeMode | Mã: AUTO, CODE_A, KODI_B, SCHOOL_C, LHQ, BĐ, HQ |
Code39Options | Chọn mã hóa cho Mã 39 (tất cả ASCII, kiểm tra số) |
Code39EncodeMode | Tên tiếng Anh: BASE, FULL_ASCII |
Ean13Options | Tùy chọn mã hóa cho EAN-13 (check digital input) |
Ean8Options | Tùy chọn mã hóa cho EAN-8 (check digital input) |
QrOptions | Tùy chọn mã hóa cho QR Code (cửa lỗi, phiên bản, mặt nạ, chế độ) |
QrEncodeMode | Mã: AUTO, NUMERIC, ALPHANUMERIQUE, BYTE, KANJI |
QrErrorCorrectionLevel | M, M và Q |
UpcaOptions | Tùy chọn mã hóa cho UPC-A |
UpceOptions | Tùy chọn mã hóa cho UPC-E |
SymbologyRegistry | Giải quyết các tên biểu tượng và cung cấp định nghĩa |