การเลือกสัญลักษณ์บาร์โค้ด

การเลือกสัญลักษณ์บาร์โค้ด

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.


การประมวลภาพสัญลักษณ์

SymbologyTypeชุดตัวอักษรความจุของข้อมูลตรวจสอบ Digit
รหัส 1281DASCII เต็ม (128 ตัวอักษร)ความยาวที่เปลี่ยนแปลงได้อัตโนมัติ (mod-103)
รหัส 391DAZ, 09, และ 7 ตัวอักษรพิเศษ (ฐาน); ASCII เต็มที่ (ขยาย)ความยาวที่เปลี่ยนแปลงได้Optional
EAN-131Dเลขเฉพาะ (09)12 data digits + 1 check digitAutomatic
EAN-81Dเลขเฉพาะ (09)7 data digits + 1 check digitAutomatic
รหัส QR2Dตัวเลข, หลักอักษร, ไบต์ และ คานจิสูงสุด 7,089 ตัวเลข / 4,296 ตัวอักษรตัวเลขอัตโนมัติ (รีด-ซอลเลอมอน)
UPC-A1Dเลขเฉพาะ (09)11 data digits + 1 check digitAutomatic
UPC-E1Dเลขเฉพาะ (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
รายการของโกดังรหัส 128ASCII เต็ม, ความหนาแน่นสูง, ยาวที่เปลี่ยนแปลงได้
แล็กเกอร์ทหาร/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 สําหรับเครื่องหมายที่อ่านได้โดยมนุษย์ เพื่อให้ผู้ใช้งานสามารถตรวจสอบข้อมูลการสแกนด้วยภาพ

ปัญหาทั่วไป

IssueCauseแก้ไข
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)
Code128EncodeModeEnum: AUTO, CODE_A,CODE _B,Code_C,AB Code_AC,BC Code
Code39Optionsตัวเลือกการรหัสสําหรับโค้ด 39 ( ASCII เต็ม, ตรวจสอบตัวเลข)
Code39EncodeModeEnum: 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แก้คําหมายและให้ความจํากัด

See Also

 ภาษาไทย