การเลือกสัญลักษณ์บาร์โค้ด
การเลือกสัญลักษณ์บาร์โค้ด
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 | Type | ชุดตัวอักษร | ความจุของข้อมูล | ตรวจสอบ Digit |
|---|---|---|---|---|
| รหัส 128 | 1D | ASCII เต็ม (128 ตัวอักษร) | ความยาวที่เปลี่ยนแปลงได้ | อัตโนมัติ (mod-103) |
| รหัส 39 | 1D | AZ, 09, และ 7 ตัวอักษรพิเศษ (ฐาน); ASCII เต็มที่ (ขยาย) | ความยาวที่เปลี่ยนแปลงได้ | Optional |
| EAN-13 | 1D | เลขเฉพาะ (09) | 12 data digits + 1 check digit | Automatic |
| EAN-8 | 1D | เลขเฉพาะ (09) | 7 data digits + 1 check digit | Automatic |
| รหัส QR | 2D | ตัวเลข, หลักอักษร, ไบต์ และ คานจิ | สูงสุด 7,089 ตัวเลข / 4,296 ตัวอักษรตัวเลข | อัตโนมัติ (รีด-ซอลเลอมอน) |
| UPC-A | 1D | เลขเฉพาะ (09) | 11 data digits + 1 check digit | Automatic |
| UPC-E | 1D | เลขเฉพาะ (09) | 6 data digits (compressed UPC-A) | Automatic |
รหัส 128
รหัส 128 กรอกตัวอักษร ASCII ครบวงจรด้วยความหนาแน่นสูง มันใช้สามชุดตัว อักษาระ (A, B, C) และเปลี่ยนระหว่างพวกเขาโดยอัตโนมัติใน AUTO รูปแบบ.
ที่ดีที่สุดสําหรับ: แล็กของสินค้า, แอล็อกการส่งสินค้านิติอัลฟานูเมริกที่มีวัตถุประสงค์ทั่วไป.
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()รหัส 39
Code 39 รองรับตัวอักษรใหญ่, ตัวเลข และ 7 นิยมพิเศษในโหมดฐาน. Enable full_ascii=True เพื่อรหัสระดับ ASCII ทั้งหมด. ตัวเลขเช็คตัวเลือกสามารถเพิ่มได้ผ่าน add_check_digit.
ที่ดีที่สุดสําหรับ: แล็บบิ๊กอุตสาหกรรม, ตัวจําแนกของรัฐบาล / กองทัพ (LOGMARS) และสภาพแวดล้อมที่ความง่ายดายสําคัญกว่าความหนา.
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 เป็นบาร์โค้ดมาตรฐานสําหรับสินค้าขายปลีกนอกอเมริกาเหนือ. มันรหัสข้อมูลได้อย่างถูกต้อง 12 หลัก; ตัวเลขที่ 13 คือตัวเลขเช็ค ที่คํานวณโดยอัตโนมัติ ใช้ Ean13Options เพื่อควบคุมพฤติกรรมการเข้าตัวเลขเช็ค.
ที่ดีที่สุดสําหรับ: การระบุสินค้าในตลาดขายปลีก รายการธุรกิจระหว่างประเทศ (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 เป็นรุ่นคอมพั๊ตของ EAn-13 ใช้ในแพ็คเกจขายปลีกขนาดเล็กที่พื้นที่จํากัด มันโค้ดตัวเลขข้อมูล 7 ตัว + 1 ตัวเช็ก.
ดีที่สุดสําหรับ: สินค้าขายปลีกเล็ก, รายการที่มีพื้นที่ติดป้ายจํากัด.
from aspose_barcode_foss import BarcodeService
service = BarcodeService()
barcode = service.generate("ean8", "9638507")
svg = barcode.to_svg()รหัส QR
QR Code เป็นสัญลักษณ์เมทริกซ์ 2 มิติ ที่เก็บข้อมูลจํานวนมากในพื้นที่เล็ก ๆ น้อยๆ มันรองรับแบบการโคด 4 แบบผ่านทาง QrEncodeMode: NUMERIC, ALPHANUMERIC , BYTE และ KANJI. การแก้ไขความผิดพลาดสามารถตั้งค่าผ่าน QrErrorCorrectionLevel (L, M, Q, H).
ที่เหมาะสําหรับ: URL, แอพมือถือ, วัสดุการตลาด และกรณีใช้งานใด ๆ ที่ต้องการความจุข้อมูลสูงหรือตัวอักษรที่ไม่ใช่ 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 เป็นบาร์โค้ดมาตรฐานสําหรับสินค้าปลีกในอเมริกาเหนือ. มันรหัส 11 หลักข้อมูล บวก 1 หมายเลขเช็ค. U PC- A คือย่อยของ EAN-13 โดยมีศูนย์นํา.
ที่ดีที่สุดสําหรับ: การระบุสินค้าขายปลีกของอเมริกาเหนือ (GTIN-12).
service = BarcodeService() barcode = service.generate(“upca”, “01234567890”) svg = barcode.to_svg()
---
### UPC-E
UPC-E เป็นรูปแบบสับสนของ UCP-A สําหรับสินค้าปลีกเล็ก. มันรหัส 6 หลักข้อมูลโดยการลบศูนย์จากตัวแทน U PC A ครบวงจร.
ที่ดีที่สุดสําหรับ: สินค้าขายเล็ก คูปอง และเครื่องหมายที่พื้นที่จํากัด.
service = BarcodeService()
barcode = service.generate("upce", "0123456")
svg = barcode.to_svg()คู่มือการตัดสินใจ
ใช้ตารางนี้เพื่อเลือกสัญลักษณ์ที่เหมาะสําหรับการใช้งานของคุณ:
| การใช้งาน | สัญลักษณ์ที่แนะนํา | Reason |
|---|---|---|
| รายการของโกดัง | รหัส 128 | ASCII เต็ม, ความหนาแน่นสูง, ยาวที่เปลี่ยนแปลงได้ |
| แล็กเกอร์ทหาร/LOGMARS | รหัส 39 | การใช้งานในระบบรัฐบาลอย่างกว้างขวาง |
| รายละเอียดระหว่างประเทศ | EAN-13 | มาตรฐาน GTIN-13 |
| การบรรจุสินค้าขนาดเล็ก | EAN-8 หรือ UPC-E | ขนาดตัวจริงที่สับสน |
| อเมริกาเหนือ ขายปลีก | UPC-A | มาตรฐาน GTIN-12 |
| URL และลิงค์มือถือ | รหัส QR | ความจุสูง การสแกน 2 มิติ |
| การตลาดและการพิมพ์ | รหัส QR | สามารถสแกนได้ด้วยกล้องโทรศัพท์ |
| เลขรุ่นทั้งหมด | รหัส 128 (รหิต C) | ความหนาแน่นสูงสุดสําหรับข้อมูลจํานวน |
เคล็ดลับและปฏิบัติที่ดีที่สุด
- ใช้รหัส 128 เป็นแบบตั้งค่าสําหรับเครื่องหมายที่มีวัตถุประสงค์ทั่วไป มันให้อัตราส่วนความหนาแน่นกับความเข้ากันที่ดีที่สุดในหมู่สัญลักษณ์ 1D
- สําหรับสินค้าขายปลีก ใช้สัญลักษณ์ที่ต้องการในตลาดของคุณ: EAN-13 สําหรับประเทศต่างชาติ, UPC-A สําหรับอเมริกาเหนือ
- เซ็ต
QrErrorCorrectionLevel.Hสําหรับรหัส QR ที่จะพิมพ์บนเครื่องหมายที่ถูกเป่า หรือเสียหายบางส่วน - ให้ห้องสมุดคํานวณตัวเลขเช็คโดยอัตโนมัติเสมอ แทนที่จะให้มันด้วยมือ
- การใช้งาน
show_text=TrueในRenderOptionsสําหรับเครื่องหมายที่อ่านได้โดยมนุษย์ เพื่อให้ผู้ใช้งานสามารถตรวจสอบข้อมูลการสแกนด้วยภาพ
ปัญหาทั่วไป
| Issue | Cause | แก้ไข |
|---|---|---|
InvalidInputError ใน EAN-13 | ตัวอักษรที่ไม่ใช่ตัวเลขในข้อมูล | EAN-13 ยอมรับตัวเลข 09 เท่านั้น |
InvalidInputError ในโค้ด 39 | ตัวอักษรตัวเล็กในโหมดฐาน | เซ็ต Code39Options(full_ascii=True) |
| รหัส QR กว่าขนาดใหญ่มาก | รุ่นที่ต่ําเกินไปสําหรับความยาวของข้อมูล | ให้ห้องสมุดเลือกตัวอย่างโดยอัตโนมัติ หรือเพิ่ม QrOptions.version |
UPC-E InvalidInputError | ข้อมูลไม่ตรงกับรูปแบบการลบศูนย์ | ยืนยันรูปแบบ UPC-E 6 หลัก หรือใช้ UCP-A แทน |
FAQ
ฉันใช้รหัส 128 สําหรับข้อมูลทั้งหมดได้มั้ย?
ใช่ รหัส 128 โรค C (Code128EncodeMode.CODE_C) ถูกปรับปรุงให้ดีที่สุดสําหรับข้อมูลทั้งหมดที่เป็นจํานวน โดยการรหัสคู่ตัวเลขในอักษรสัญลักษณ์เดียวเพื่อความหนาแน่นสูงสุด.
ความแตกต่างระหว่าง EAN-13 และ UPC-A คืออะไร?
UPC-A เป็นย่อยของ EAN-13 ที่มี 12 หลัก. รหัส U PC- A สามารถแสดงเป็น E AN-13 โดยจะมีศูนย์นําได้ พวกเขามีความเข้ากันในระบบสแกนขายปลีก.
สัญลักษณ์ไหนที่รองรับข้อมูลมากที่สุด?
QR Code รองรับตัวอักษรจํานวน 7,089 ตัวหรือ 4,296 ตัวอักขระ. สัญลักษณ์ 1 มิติทั้งหมดในห้องสมุดนี้รองรับข้อมูลความยาวเปลี่ยน แต่ QR code มีขนาดสูงสุด.
ฉันสามารถผสมสัญลักษณ์ได้ในแอพลิเคชั่นเดียวไหม?
ใช่ สร้างหนึ่ง BarcodeService การเรียกและการติดต่อ generate() ด้วยชื่อสัญลักษณ์ที่แตกต่างกันสําหรับบาร์โค้ดแต่ละตัว. บริการนี้แก้ไขทุกสัญญาณผ่านระบบ SymbologyRegistry.
คําอธิบายการพบบ่อย API
| ประเภท / กลไก | Description |
|---|---|
BarcodeService.generate(symbology, data, encode, render) | การสร้างบาร์โค้ดสําหรับสัญลักษณ์ใด ๆ ที่ลงทะเบียน |
Code128Options | ตัวเลือกการรหัสสําหรับโค้ด 128 (โหมดรบก๊อก, GS1, ECI) |
Code128EncodeMode | Enum: AUTO, CODE_A,CODE _B,Code_C,AB Code_AC,BC Code |
Code39Options | ตัวเลือกการรหัสสําหรับโค้ด 39 ( ASCII เต็ม, ตรวจสอบตัวเลข) |
Code39EncodeMode | Enum: BASE, FULL_ASCII |
Ean13Options | ตัวเลือกการรหัสสําหรับ EAN-13 (ตรวจสอบการใส่ตัวเลข) |
Ean8Options | ตัวเลือกการรหัสสําหรับ EAN-8 (ตรวจสอบการใส่ตัวเลข) |
QrOptions | ตัวเลือกการรหัส QR Code (แก้ไขความผิดพลาด, รุ่น, หน้ากาก, โหมด) |
QrEncodeMode | อินูม: AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI |
QrErrorCorrectionLevel | หมายเลข: L, M, Q, H |
UpcaOptions | ตัวเลือกการรหัสสําหรับ UPC-A |
UpceOptions | ตัวเลือกการรหัสสําหรับ UPC-E |
SymbologyRegistry | แก้คําหมายและให้ความจํากัด |