Mã vạch Code 128 là một ký hiệu mã vạch tuyến tính mật độ cao, có khả năng mã hóa văn bản, số, nhiều chức năng khác nhau và toàn bộ bộ ký tự 128 ASCII (từ ASCII 0 đến ASCII 128). Đây là loại mã vạch được sử dụng phổ biến trong nhiều ứng dụng khác nhau và còn được biết đến với các tên gọi như ISBT-128, GS1-128, UCC-128, EAN-128 và USS Code 128. Nếu bạn muốn tìm hiểu sâu hơn về mã vạch là gì nói chung trước khi đi vào chi tiết Code 128, bạn có thể tham khảo thêm thông tin cơ bản.
Code 128 bao gồm 106 mẫu mã vạch in khác nhau. Mỗi ký hiệu mã vạch được in có thể mang một trong ba ý nghĩa khác nhau, tùy thuộc vào bộ ký tự nào đang được sử dụng. Sự lựa chọn bộ ký tự ban đầu được thực hiện thông qua việc sử dụng ba ký tự bắt đầu Code 128 khác nhau. Ký hiệu mã vạch này cũng cung cấp các chức năng cho phép chuyển đổi giữa các bộ ký tự và mã hóa Mã định danh ứng dụng (Application Identifiers).
Do sự phức tạp trong việc sử dụng các bộ ký tự khác nhau, Tem Nhãn 24h cung cấp các Công cụ, Thành phần và Ứng dụng Phông chữ với chức năng tự động hóa việc tạo mã vạch Code 128 (ví dụ: chức năng Mã Code128()). Một mã vạch Code 128 hoàn chỉnh bao gồm ký tự bắt đầu, các ký tự dữ liệu, một ký tự kiểm tra (checksum) theo modulo 103 và ký tự dừng.
Thành phần | Mô tả |
---|---|
Ký tự Bắt đầu | Chọn bộ ký tự ban đầu |
Dữ liệu Mã-128 | Chuỗi ký tự được mã hóa |
Ký tự Kiểm tra | Giá trị kiểm tra modulo 103 |
Ký tự Dừng | Kết thúc mã vạch |
Mã vạch Code 128 – Một ví dụ về ký hiệu mã vạch tuyến tính mật độ cao
Ký hiệu mã vạch Code 128 ở trên được tạo bằng Trình tạo hình ảnh mã vạch của Tem Nhãn 24h.
Các tiêu chuẩn khác nhau cho mã vạch Code 128
Có nhiều tiêu chuẩn tồn tại quy định cách tạo mã vạch Code 128 cho các ứng dụng cụ thể. Một số tiêu chuẩn phổ biến bao gồm:
- GS1-128 (trước đây là UCC-128 và EAN-128): Được định nghĩa bởi GS1, tiêu chuẩn này được sử dụng để tạo các loại ký hiệu mã vạch bao gồm Mã định danh ứng dụng (AI). Mã định danh ứng dụng xác định mục đích của dữ liệu trong ký hiệu và cách dữ liệu đó nên được sử dụng.
- ISBT-128: Được thiết kế đặc biệt để in nhãn mã vạch cho các sản phẩm máu. Nó được phát triển bởi Hiệp hội Truyền máu Quốc tế (ISBT) và Ban Công tác về Tự động hóa và Xử lý dữ liệu (WPADP).
- USS Code 128 (Uniform Symbology Specification Code 128): Là đặc tả kỹ thuật được công bố cho mã vạch Code 128.
- ISS Code 128 (International Symbology Specification 128): Là mã vạch USS Code 128 với một tính năng mới cho phép mã hóa các ký tự ASCII mở rộng cho các ngôn ngữ không phải tiếng Anh.
- Số Thương phẩm Toàn cầu (GTIN): Trước đây là EAN14, là cấu trúc nhận dạng sản phẩm trong hệ thống GS1 (EAN/UCC). GTIN là một chuỗi số cố định dài 14 chữ số, bao gồm chữ số chỉ báo (hoặc biến thể logistic), tiền tố công ty EAN/UCC, tham chiếu mục và chữ số kiểm tra. Ví dụ về các loại mã vạch khác trong hệ thống EAN/UCC có thể kể đến như EAN-13 là gì hoặc Mã vạch upc là gì. Khi sử dụng ký hiệu mã vạch GS1-128, dữ liệu GTIN cần được thêm ký tự Fnc1 và Mã định danh ứng dụng là 01. GTIN luôn phải được lưu trữ trong cơ sở dữ liệu dưới dạng số 14 chữ số. Khi GTIN được biểu diễn dưới dạng UPC-A, UPC-E, GTIN-8 và GTIN-13 (8, 12 hoặc 13 chữ số), số này phải được lưu dưới dạng 14 chữ số bằng cách thêm các số 0 vào đầu dữ liệu.
- SSCC-18: Là đặc tả kỹ thuật cho nhãn vận chuyển theo số seri.
Các sản phẩm hỗ trợ in mã vạch Code 128
Có nhiều Hướng dẫn Tích hợp Mã vạch đề xuất các tùy chọn khác nhau để in mã vạch. Các tùy chọn tích hợp này cần được xem xét để xác định liệu nên sử dụng các thành phần mã vạch, ứng dụng hay phông chữ để in. Một số Hướng dẫn Tích hợp Mã vạch phổ biến bao gồm:
- Access
- Crystal Reports
- Excel
- FileMaker
- OpenOffice & StarOffice
- Oracle Reports
- Reporting Services
- C++
- CNET
- Visual Basic 6 và VB.NET
- Web Barcode Execution
Một sản phẩm nổi bật được giới thiệu là Gói Ưu điểm Phông chữ Mã vạch Đa năng Tem Nhãn 24h. Đây là giải pháp mạnh mẽ để tạo mã vạch Code 128 trên nhiều hệ điều hành và ngôn ngữ, bao gồm cả các phiên bản Windows hỗ trợ ký tự Double Byte. Gói này giúp khắc phục những khó khăn thường gặp khi in Mã 128 dưới dạng phông chữ mã vạch ngoài Hoa Kỳ. Bạn có thể tìm hiểu thêm về các loại mã vạch khác như code 39 là gì để có cái nhìn tổng quan hơn về các lựa chọn mã vạch.
Đọc và quét mã vạch Code 128
Phương pháp phổ biến nhất để đọc mã vạch Code 128 là sử dụng máy quét mã vạch tuyến tính. Hầu hết các máy quét mã vạch được Tem Nhãn 24h khuyến nghị đều hoạt động như mô phỏng bàn phím và lấy nguồn điện từ cổng USB, do đó không cần nguồn điện bên ngoài. Khi mã vạch được quét bằng mô phỏng bàn phím, dữ liệu được quét sẽ xuất hiện tại vị trí con trỏ, giống như khi bạn gõ từ bàn phím.
Hầu hết các máy quét mã vạch đều có khả năng đọc mã Code 128 theo mặc định, ví dụ như Máy quét mã vạch USB của Tem Nhãn 24h. Máy quét này có khả năng đọc đáng tin cậy Phông chữ Mã vạch Code 128 và Phông chữ Mã vạch Đa năng của Tem Nhãn 24h khi được in nhỏ tới 6 điểm, với kích thước X là 4 triệu (mil).
Bộ ký tự USS Code-128
Tem Nhãn 24h cung cấp nhiều công cụ phông chữ, macro và mã nguồn mẫu có thể sử dụng miễn phí bản quyền với phông chữ mã vạch Tem Nhãn 24h, giúp tự động định dạng dữ liệu thành mã vạch. Do đó, việc tham khảo trực tiếp các bộ ký tự này có thể không cần thiết trong mọi trường hợp. Ba bộ ký tự dưới đây được sử dụng cho mã vạch Code 128:
Code A | Code B | Code C | ASCII * | Unicode * | Char | Value | Code A | Code B | Code C | ASCII * | Unicode * | Char | Value |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Space | Space | 00 | 0194 | 00C2 | Â | 00 | V | V | 54 | 0086 | 0056 | V | 54 |
! | ! | 01 | 0033 | 0021 | ! | 01 | W | W | 55 | 0087 | 0057 | W | 55 |
“ | “ | 02 | 0034 | 0022 | “ | 02 | X | X | 56 | 0088 | 0058 | X | 56 |
# | # | 03 | 0035 | 0023 | # | 03 | Y | Y | 57 | 0089 | 0059 | Y | 57 |
$ | $ | 04 | 0036 | 0024 | $ | 04 | Z | Z | 58 | 0090 | 005A | Z | 58 |
% | % | 05 | 0037 | 0025 | % | 05 | [ | [ | 59 | 0091 | 005B | [ | 59 |
& | & | 06 | 0038 | 0026 | & | 06 | 60 | 0092 | 005C | 60 | |||
‘ | ‘ | 07 | 0039 | 0027 | ‘ | 07 | ] | ] | 61 | 0093 | 005D | ] | 61 |
( | ( | 08 | 0040 | 0028 | ( | 08 | ^ | ^ | 62 | 0094 | 005E | ^ | 62 |
) | ) | 09 | 0041 | 0029 | ) | 09 | _ | _ | 63 | 0095 | 005F | _ | 63 |
* | * | 10 | 0042 | 002A | * | 10 | nul | | 64 | 0096 | 0060 | | 64 | ||||
+ | + | 11 | 0043 | 002B | + | 11 | soh | a | 65 | 0097 | 0061 | a | 65 |
, | , | 12 | 0044 | 002C | , | 12 | stx | b | 66 | 0098 | 0062 | b | 66 |
– | – | 13 | 0045 | 002D | – | 13 | etx | c | 67 | 0099 | 0063 | c | 67 |
. | . | 14 | 0046 | 002E | . | 14 | eot | d | 68 | 0100 | 0064 | d | 68 |
/ | / | 15 | 0047 | 002F | / | 15 | eno | e | 69 | 0101 | 0065 | e | 69 |
0 | 0 | 16 | 0048 | 0030 | 0 | 16 | ack | f | 70 | 0102 | 0066 | f | 70 |
1 | 1 | 17 | 0049 | 0031 | 1 | 17 | bel | g | 71 | 0103 | 0067 | g | 71 |
2 | 2 | 18 | 0050 | 0032 | 2 | 18 | bs | h | 72 | 0104 | 0068 | h | 72 |
3 | 3 | 19 | 0051 | 0033 | 3 | 19 | ht | i | 73 | 0105 | 0069 | i | 73 |
4 | 4 | 20 | 0052 | 0034 | 4 | 20 | lf | j | 74 | 0106 | 006A | j | 74 |
5 | 5 | 21 | 0053 | 0035 | 5 | 21 | vt | k | 75 | 0107 | 006B | k | 75 |
6 | 6 | 22 | 0054 | 0036 | 6 | 22 | ff | l | 76 | 0108 | 006C | l | 76 |
7 | 7 | 23 | 0055 | 0037 | 7 | 23 | cr | m | 77 | 0109 | 006D | m | 77 |
8 | 8 | 24 | 0056 | 0038 | 8 | 24 | s0 | n | 78 | 0110 | 006E | n | 78 |
9 | 9 | 25 | 0057 | 0039 | 9 | 25 | s1 | o | 79 | 0111 | 006F | o | 79 |
: | : | 26 | 0058 | 003A | : | 26 | dle | p | 80 | 0112 | 0070 | p | 80 |
; | ; | 27 | 0059 | 003B | ; | 27 | dc1 | q | 81 | 0113 | 0071 | q | 81 |
< | < | 28 | 0060 | 003C | < | 28 | dc2 | r | 82 | 0114 | 0072 | r | 82 |
= | = | 29 | 0061 | 003D | = | 29 | dc3 | s | 83 | 0115 | 0073 | s | 83 |
> | > | 30 | 0062 | 003E | > | 30 | dc4 | t | 84 | 0116 | 0074 | t | 84 |
? | ? | 31 | 0063 | 003F | ? | 31 | nak | u | 85 | 0117 | 0075 | u | 85 |
@ | @ | 32 | 0064 | 0040 | @ | 32 | syn | v | 86 | 0118 | 0076 | v | 86 |
A | A | 33 | 0065 | 0041 | A | 33 | etb | w | 87 | 0119 | 0077 | w | 87 |
B | B | 34 | 0066 | 0042 | B | 34 | can | x | 88 | 0120 | 0078 | x | 88 |
C | C | 35 | 0067 | 0043 | C | 35 | em | y | 89 | 0121 | 0079 | y | 89 |
D | D | 36 | 0068 | 0044 | D | 36 | sub | z | 90 | 0122 | 007A | z | 90 |
E | E | 37 | 0069 | 0045 | E | 37 | esc | { | 91 | 0123 | 007B | { | 91 |
F | F | 38 | 0070 | 0046 | F | 38 | fs | | | 92 | 0124 | 007C | | | 92 |
G | G | 39 | 0071 | 0047 | G | 39 | gs | } | 93 | 0125 | 007D | } | 93 |
H | H | 40 | 0072 | 0048 | H | 40 | rs | ~ | 94 | 0126 | 007E | ~ | 94 |
I | I | 41 | 0073 | 0049 | I | 41 | us | del | 95 | 0195 | 00C3 | Ã | 95 |
J | J | 42 | 0074 | 004A | J | 42 | fnc 3 | fnc 3 | 96 | 0196 | 00C4 | Ä | 96 |
K | K | 43 | 0075 | 004B | K | 43 | fnc 2 | fnc2 | 97 | 0197 | 00C5 | Å | 97 |
L | L | 44 | 0076 | 004C | L | 44 | Shift | Shift | 98 | 0198 | 00C6 | Æ | 98 |
M | M | 45 | 0077 | 004D | M | 45 | code C | code C | 99 | 0199 | 00C7 | Ç | 99 |
N | N | 46 | 0078 | 004E | N | 46 | code B | fnc 4 | code B | 0200 | 00C8 | È | 100 |
O | O | 47 | 0079 | 004F | O | 47 | fnc 4 | code A | code A | 0201 | 00C9 | É | 101 |
P | P | 48 | 0080 | 0050 | P | 48 | fnc 1 | fnc 1 | fnc 1 | 0202 | 00CA | Ê | 102 |
Q | Q | 49 | 0081 | 0051 | Q | 49 | Start A | Start A | Start A | 0203 | 00CB | Ë | 103 |
R | R | 50 | 0082 | 0052 | R | 50 | Start B | Start B | Start B | 0204 | 00CC | Ì | 104 |
S | S | 51 | 0083 | 0053 | S | 51 | Start C | Start C | Start C | 0205 | 00CD | Í | 105 |
T | T | 52 | 0084 | 0054 | T | 52 | Stop | Stop | Stop | 0206 | 00CE | Î | na |
U | U | 53 | 0085 | 0055 | U | 53 |
- Trong các cột Code A, Code B và Code C, biểu thị ký tự hoặc chức năng mà máy quét mã vạch sẽ đọc tương ứng với biểu tượng.
- Các cột ASCII và Unicode chỉ định vị trí để đặt ký hiệu mã vạch cho ký tự.
- Cột Char liệt kê các ký tự tại vị trí ASCII, được sử dụng để in biểu tượng tương ứng.
- Vị trí ASCII cho ký tự khoảng trắng, ký tự dừng và các giá trị ký tự 94-105 chỉ áp dụng cho các sản phẩm của Tem Nhãn 24h bao gồm Phông chữ mã vạch 128. Đặc tả ISO cho Code 128 không chỉ định vị trí của các giá trị ASCII và Unicode cho các ký hiệu này.
- Lưu ý: Ký tự khoảng trắng Mã 128 cần được in từ ASCII 194 thay vì ASCII 32 vì một số ứng dụng không in ký hiệu thay vì ký tự khoảng trắng. Ngoài ra, các ký tự được liệt kê cho các giá trị 00 và 94-105 là từ bảng mã Latin-1. Khi không sử dụng bảng mã Latin-1 hoặc khi sử dụng máy Mac, nên sử dụng Universal Barcode Font Advantage™, loại phông chữ tạo mã vạch Code 128 trong bất kỳ hệ điều hành và mã hóa nào.
Ví dụ tính toán ký tự kiểm tra Code 128
Tem Nhãn 24h cung cấp các công cụ phông chữ, trình cắm và mã nguồn mẫu miễn phí sử dụng với phông chữ mã vạch Tem Nhãn 24h, sẽ tự động định dạng ký tự bắt đầu, dừng và kiểm tra cho mã vạch. Do đó, các phép tính thủ công mô tả ở đây hiếm khi cần thiết. Các ví dụ sau đây minh họa cách tính toán khi sử dụng Phông chữ Mã vạch 128 Code của Tem Nhãn 24h trong bảng mã Latin-1 (thiết lập mặc định ở Hoa Kỳ). Khi không sử dụng bảng mã Latin-1 hoặc khi sử dụng máy Mac, nên dùng Universal Barcode Font Advantage™, loại phông chữ tạo mã vạch Code 128 trong bất kỳ hệ điều hành và mã hóa nào.
Quy trình xác định giá trị của ký tự kiểm tra như sau:
- Tham khảo bảng bộ ký tự để lấy giá trị của ký tự bắt đầu và tất cả các ký tự dữ liệu.
- Gán trọng số cho mỗi ký tự dữ liệu (không bao gồm ký tự bắt đầu, chỉ ký tự dữ liệu). Trọng số bắt đầu từ 1 và tăng thêm một cho mỗi ký tự dữ liệu.
- Nhân giá trị của các ký tự dữ liệu với trọng số tương ứng.
- Tính tổng tất cả các kết quả nhân ở bước 3 cộng với giá trị của ký tự bắt đầu.
- Chia tổng này cho 103 và lấy phần dư. Phần dư chính là giá trị của ký tự kiểm tra.
- Sử dụng bảng bộ ký tự để tìm ký tự tương ứng với giá trị của phần dư. Ký tự này chính là ký tự kiểm tra cần in.
Ví dụ tính toán cho bộ ký tự A hoặc B:
Bảng dưới đây minh họa cách tính ký tự kiểm tra cho dữ liệu “biz” sử dụng bộ ký tự Code 128 B:
Bắt đầu B | b | i | z | Dừng | |
---|---|---|---|---|---|
Trọng số | 1 | 2 | 3 | ||
Giá trị | 104 | 66 | 73 | 90 | |
Tổng lũy kế | 104 | 66 | 146 | 270 |
- Tính Tổng trọng số: 104 + (66 * 1) + (73 * 2) + (90 * 3) = 104 + 66 + 146 + 270 = 586
- Tính toán giá trị kiểm tra: 586 chia cho 103 được 5 với phần dư là 71. Do đó, giá trị của chữ số kiểm tra là 71. Tra bảng bộ ký tự, ký tự cần in cho giá trị 71 là ‘g’ hoặc ASCII 103.
- Để in dữ liệu “biz” dưới dạng mã vạch Code 128, chuỗi ký tự cần mã hóa và in bằng Phông chữ Mã vạch Code 128 là “ÌbizgΔ. (Ì là Start B, Î là Stop)
Ví dụ tính toán cho bộ ký tự C:
Bảng sau đây minh họa cách tính ký tự kiểm tra cho chuỗi số “667390”, sử dụng bộ ký tự Code 128 C:
Bắt đầu C | 66 | 73 | 90 | Dừng | |
---|---|---|---|---|---|
Trọng số | 1 | 2 | 3 | ||
Giá trị | 105 | 66 | 73 | 90 | |
Tổng lũy kế | 105 | 66 | 146 | 270 |
- Tách các số thành cặp và chọn ký tự tương ứng từ bảng bộ ký tự đại diện cho cặp số. (66 -> giá trị 66, 73 -> giá trị 73, 90 -> giá trị 90).
- Tính Tổng trọng số: 105 + (66 * 1) + (73 * 2) + (90 * 3) = 105 + 66 + 146 + 270 = 587
- Tính toán giá trị kiểm tra: 587 chia cho 103 được 5 với phần dư là 72. Do đó, giá trị của chữ số kiểm tra là 72. Tra bảng bộ ký tự, ký tự cần in cho giá trị 72 là ‘h’ hoặc ASCII 104.
- Để in dữ liệu số “667390” dưới dạng mã vạch Code 128, chuỗi ký tự cần mã hóa và in bằng Phông chữ mã vạch 128 là “ÍbizhΔ. (Í là Start C, Î là Stop)
Ví dụ tính toán cho nhiều bộ ký tự:
Bảng sau đây là ví dụ về cách mã hóa dữ liệu “biz” sử dụng bộ ký tự Code 128 B với chuyển đổi sang bộ ký tự A cho chức năng xuống dòng (carriage return).
Bắt đầu B | b | i | z | É | m | Dừng | |
---|---|---|---|---|---|---|---|
Trọng số | 1 | 2 | 3 | 4 | 5 | ||
Giá trị | 104 | 66 | 73 | 90 | 101 | 77 | |
Tổng lũy kế | 104 | 66 | 146 | 270 | 404 | 35 |
Lưu ý: ‘É’ có giá trị 101, là chức năng chuyển đổi sang bộ ký tự A (Code A). ‘m’ trong bộ A có giá trị 77, là chức năng xuống dòng (carriage return).
- Tính Tổng trọng số: 104 + (66 * 1) + (73 * 2) + (90 * 3) + (101 * 4) + (77 * 5) = 104 + 66 + 146 + 270 + 404 + 385 = 1375
- Tính toán giá trị kiểm tra: 1375 chia cho 103 được 13 với phần dư là 36. Giá trị của chữ số kiểm tra là 36. Tra bảng bộ ký tự, ký tự cần in cho giá trị 36 là ‘D’ hoặc ASCII 68.
- Để in dữ liệu “biz” với chức năng xuống dòng sử dụng bộ ký tự B chuyển đổi sang A, chuỗi ký tự cần mã hóa và in bằng Phông chữ mã vạch 128 là “ÌbizÉmDΔ.
Chuyển đổi giữa các bộ ký tự và mã hóa chức năng
Mã hóa các chức năng như xuống dòng (carriage return) và tab có thể giúp đơn giản hóa các tác vụ nhập liệu. Các chức năng này dễ dàng được mã hóa bằng cách sử dụng mã chức năng ASCII thích hợp. Thông thường, các ký tự chức năng này không hiển thị trừ khi sử dụng một ứng dụng như Bộ giải mã chuỗi mã vạch ASCII của Tem Nhãn 24h, hiển thị các chức năng ẩn này dưới dạng thẻ.
Dễ dàng mã hóa các chức năng với Bộ A:
Sử dụng Bộ ký tự A và chuyển đổi tất cả dữ liệu văn bản sang chữ HOA. Cần cẩn thận với phương pháp này vì bất kỳ chữ thường nào trong Bộ A cũng sẽ tạo ra một chức năng! Sau đó, sử dụng chữ ‘i’ cho chức năng tab và chữ ‘m’ cho chức năng xuống dòng (return). Các chức năng khác có thể được xác định bằng cách tra cứu cột “Code A” trong bảng bộ ký tự và chọn ký tự liên quan. Ví dụ: Chuỗi ký tự sau trong bộ ký tự A mã hóa dữ liệu “JO JO SMITH 128-288-6794 [return]”: JOHNiSMITHi128-288-6794m
Sử dụng chức năng Shift trong Bộ B:
Sử dụng Bộ ký tự B và thực hiện lệnh Shift để chuyển sang Bộ A nhằm mã hóa các chức năng tab, xuống dòng và các chức năng khác. Sau đó, chỉ sử dụng các chữ ‘Æi’ cho chức năng tab và chữ ‘Æm’ cho chức năng xuống dòng (trong đó ‘Æ’ là ASCII 198 hoặc Unicode 00C6, biểu thị chức năng Shift sang bộ A). Ví dụ: Chuỗi ký tự sau trong bộ ký tự B mã hóa dữ liệu “John John Smith 349-128-6794 [return]”: JohnÆiSmithÆi349-128-6794Æm
Chuyển đổi bộ ký tự thủ công:
Nên ưu tiên sử dụng các phương thức dịch chuyển bộ ký tự (được mô tả ở trên) nếu có thể. Các phương thức chuyển đổi sau đây hoạt động với tất cả các sản phẩm Code 128 của Tem Nhãn 24h:
Khi bộ ký tự là A hoặc B, việc chuyển đổi giữa các bộ ký tự được thực hiện bằng cách đặt mã ASCII thích hợp của chức năng chuyển đổi từ bảng bộ ký tự vào dữ liệu cần mã hóa. Ví dụ, nếu bạn chọn Bộ B và chỉ định dữ liệu “bizÉmiÈfonts.com” (“É” là chuyển sang bộ A, “m” là chức năng xuống dòng, “i” là chức năng tab và “È” là chuyển trở lại bộ B theo bảng) làm đầu vào cho chức năng Code 128 B, mã vạch được tạo ra sẽ thực hiện chuyển đổi sang bộ A và thực hiện chức năng xuống dòng cộng với chức năng tab khi được quét bởi máy quét mã vạch.
Các chức năng cũng có thể được sử dụng mà không cần chuyển đổi nếu bộ ký tự đã là A. Ví dụ: nếu bạn chỉ định dữ liệu “BIZm” (trong đó “m” là chức năng xuống dòng theo bảng) làm đầu vào cho chức năng Code 128 A, máy quét mã vạch sẽ đọc nội dung “BIZ” và sau đó là chức năng xuống dòng. Có ý kiến cho rằng người dùng Mac nên sử dụng Universal Barcode Font Advantage™, loại phông chữ tạo mã vạch Code 128 trong bất kỳ hệ điều hành và hệ điều hành nào.
Mã hóa tự động với Code 128 Auto:
Các chức năng có thể được mã hóa trực tiếp trong các sản phẩm của Tem Nhãn 24h bằng cách kích hoạt tính năng “ApplyTilde” trong Code128 Auto và sử dụng định dạng ~??? để xác định mã ASCII của hàm. Ví dụ: Chuỗi “Code ~009 Bar ~013” sẽ mã hóa thành “Code [TAB] Bar [RETURN]”. Khi tính năng ApplyTilde không khả dụng, cú pháp mã lập trình cho mã chức năng ASCII có thể được sử dụng trong công thức cho DataToEncode. Ví dụ: các công thức sau đây kết hợp hai trường trong một mã vạch duy nhất với dấu phân cách là chức năng tab:
- Crystal Reports: TemNhãn24h_Code128({Table1.DataField1} & Chr(9) & {Table1.C128})
- Microsoft Access: = ([Table1.Field1] & Chr(9) & [Table1.Field2])
- VB .NET: DataToEncode = DataString1 & Chr(9) & DataString2
- Java: DataToEncode = DataString1 + (char) 9 + DataString2;
Chức năng mã hóa với bộ A (lưu ý):
Cần thận trọng khi sử dụng bộ ký tự A vì bất kỳ chữ cái viết thường nào cũng sẽ tạo ra một chức năng theo bảng. Sử dụng chữ ‘i’ cho chức năng tab và chữ ‘m’ cho chức năng xuống dòng. Các chức năng khác có thể được xác định bằng cách tra cứu cột “Code A” trong bảng bộ ký tự. Ví dụ, chuỗi ký tự sau trong bộ ký tự A mã hóa dữ liệu “JOHN SMITH 128-288-6794 [return]”: JOHN i SMITH i 128-288-6794 m
Thông số kỹ thuật mã vạch Code 128
Phông chữ mã vạch Code 128 của Tem Nhãn 24h bao gồm nhiều kích thước để đáp ứng các yêu cầu về chiều cao và chiều rộng khác nhau, bao gồm cả các kích thước tiêu chuẩn GS1-128. Kích thước X (X là chiều rộng của thanh hẹp nhất) được liệt kê dưới đây cho các kích thước điểm khác nhau tính bằng milimét và mils (1 mil bằng 1/1000 inch). Phông chữ mã 128 của Tem Nhãn 24h được thiết kế đặc biệt để tạo mã vạch đáng tin cậy khi được in ở cả kích thước điểm lớn và nhỏ.
Kích thước điểm | Kích thước X gần đúng (1 mil = 0.001 inch) |
---|---|
48 | 0,102 cm |
36 | 0,076 cm |
32 | 0,069 cm |
30 | 0,064 cm |
28 | 0,058 cm |
24 | 0,051 cm |
20 | 0,043 cm |
18 | 0,038 cm |
16 | 0,033 cm |
12 | 0,025 cm |
8 | 0,018 cm |
6 | 0,013 cm |
- Để in ở kích thước X khác, hãy tìm kích thước điểm có kích thước X gần nhất với kích thước mong muốn và sử dụng công thức sau để tìm kích thước điểm cần thiết:
12 * (Kích thước X mong muốn) / (Kích thước X tại 12 điểm) = Kích thước điểm cần thiết
. Ví dụ: để có kích thước X là 12 mil, kích thước điểm cần là 14:12 * 12 / 10 = 14
.
Khi sử dụng máy in có độ phân giải dưới 600 DPI, nên in ở các kích thước điểm sau để tạo mã vạch chính xác:
Máy in 203 DPI (máy in nhiệt) | Máy in 300 DPI |
---|---|
6, 12, 18, 24, 30, 36 | 4, 8, 12, 16, 20, 24, 28, 32, 36 |
Chiều cao và Kích thước N (tỷ lệ chiều rộng thanh hẹp so với chiều cao phông chữ) cho từng loại phông chữ được liệt kê trong bảng dưới đây. Mỗi phông chữ có thể in ở nhiều kích cỡ điểm khác nhau để tạo ra sự kết hợp đa dạng về chiều cao và chiều rộng.
Tên phông chữ đã mua | Tên phông chữ đánh giá * | Chiều cao phông chữ * | Kích thước N ** |
---|---|---|---|
TemNhãn24hC128XXS | TemNhãn24hSC128XXS | 0.10″ hoặc 0.254 CM | 10 |
TemNhãn24hC128XS | TemNhãn24hSC128XS | 0.20″ hoặc 0.508 CM | 20 |
TemNhãn24hC128S | TemNhãn24hSC128S | 0.35″ hoặc 0.889 CM | 35 |
TemNhãn24hC128M | TemNhãn24hSC128M | 0.50″ hoặc 1.27 CM | 50 |
TemNhãn24hC128L | TemNhãn24hSC128L | 0.60″ hoặc 1.46 CM | 58 |
TemNhãn24hC128XL | TemNhãn24hSC128XL | 0.75″ hoặc 1.90 CM | 75 |
TemNhãn24hC128XXL | TemNhãn24hSC128XXL | 1″ hoặc 2.54 CM | 100 |
* Các phép đo là gần đúng và được đo khi in ở 12 điểm. Để in ở độ cao khác nhau, hãy tìm phông chữ có chiều cao gần nhất với mức cần thiết và sử dụng công thức sau để tìm kích thước điểm cần thiết: 12 * (chiều cao bạn muốn) / (chiều cao ở 12 điểm) = kích thước điểm được chuyển đổi thành số nguyên
. Ví dụ: nếu sử dụng TemNhãn24hC128M và muốn chiều cao là 0.75 inch, thì nên in ở 18 điểm: 12 * 0.75 / 0.5 = 18
.
** Cột N Dimension trong bảng là tỷ lệ chiều rộng thanh hẹp so với chiều cao của phông chữ.
Kết luận
Mã vạch Code 128 là một giải pháp mã hóa dữ liệu mạnh mẽ và linh hoạt, hỗ trợ nhiều loại ký tự và chức năng, phù hợp với đa dạng các ứng dụng từ quản lý kho vận đến nhãn sản phẩm chuyên biệt như máu. Hiểu rõ cấu tạo, các bộ ký tự, cách tính checksum và các chuẩn phổ biến như GS1-128 là rất quan trọng để triển khai hiệu quả.
Với sự phức tạp tiềm ẩn, việc sử dụng các công cụ và phần mềm chuyên dụng giúp đơn giản hóa quá trình tạo và in mã vạch Code 128, đảm bảo tính chính xác và khả năng đọc. Tem Nhãn 24h cung cấp các giải pháp toàn diện từ phông chữ đến phần mềm, hỗ trợ doanh nghiệp dễ dàng áp dụng loại mã vạch này.
Nếu bạn cần tư vấn chi tiết hơn về cách triển khai mã vạch Code 128 hoặc tìm hiểu về các giải pháp mã số mã vạch phù hợp với nhu cầu của mình, hãy liên hệ với các chuyên gia của Tem Nhãn 24h.
Tài liệu tham khảo
- Thông tin kỹ thuật về Code 128 từ các tổ chức tiêu chuẩn (ví dụ: GS1, ISO).
- Tài liệu sản phẩm và hướng dẫn sử dụng từ Tem Nhãn 24h.