Skip to content
Back to all articles
Thiết lập máy in 1 thg 9, 2026

Ngôn ngữ máy in nhiệt: ZPL, EPL, TSPL và những cái tên khác

Máy in có thể kết nối hoàn hảo mà vẫn không in gì, nếu nó không hiểu dữ liệu. Đây là điểm khác biệt giữa các ngôn ngữ máy in nhãn chính, nơi giả lập phát huy tác dụng và thứ nên hỗ trợ trước.

Quick summary
  • label_importantNgôn ngữ máy in mô tả cái nhãn. USB, Bluetooth, TCP và IPP là các lớp kết nối hoặc truyền tải riêng, còn Code 128 và QR là loại mã vạch.
  • label_importantZPL II là mục tiêu đầu tiên thiết thực khi muốn phủ nhiều hãng, vì nhiều nhà sản xuất lớn có tài liệu về các chế độ tương thích. Nhưng giả lập không mặc nhiên đồng nhất với hỗ trợ gốc.
  • label_importantEPL2 vẫn có giá trị cho khả năng tương thích với ứng dụng cũ. Raster là đường lệnh duy nhất mà bảng tra hiện tại của Brother ghi nhận cho cả ba mẫu dòng QL-800. QL-810W, QL-820NWB và QL-820NWBc còn hỗ trợ ESC/P và P-touch Template.
  • label_importantKhông có bộ dữ liệu công khai, kiểm chứng được về thị phần theo ngôn ngữ máy in. Hãy quyết định hỗ trợ dựa trên mẫu máy thực tế của khách hàng, số thiết bị tăng thêm và thử nghiệm trên máy thật.
Một thiết kế nhãn được gửi qua các đường dữ liệu lệnh, raster và mẫu tới những máy in nhiệt phổ thông

Rất dễ đánh giá thấp các giao thức của máy in nhiệt. Máy in có thể hiện diện qua USB hoặc Wi-Fi, chấp nhận kết nối, rồi vẫn nhả ra một cái nhãn trắng hoặc một trang đầy chữ lệnh. Kết nối đã chạy tốt. Chỉ là máy in không hiểu ngôn ngữ dùng để mô tả cái nhãn.

Câu trả lời ngắn gọn: ZPL II là mục tiêu đầu tiên thiết thực cho việc gửi lệnh thô, vì nhiều nhà sản xuất lớn có tài liệu về chế độ tương thích. TSPL hoặc TSPL2 là mục tiêu thứ hai hữu ích cho đội máy TSC. EPL2 phục vụ các ứng dụng cũ, còn Brother Raster mở ra một đường lệnh riêng cho dòng QL. Những ngôn ngữ còn lại trở nên quan trọng khi phần cứng của khách hàng hoặc ứng dụng sẵn có đòi hỏi. Phần còn lại của hướng dẫn giải thích vì sao một lộ trình dựa trên nhu cầu hữu ích hơn bảng xếp hạng mức phổ biến.

Phạm vi và ngày của nguồn tham khảo

Hướng dẫn này bao quát những đường lệnh thô, raster và mẫu lưu sẵn chính mà máy in nhãn nhiệt và máy in di động sử dụng. Các ví dụ tương thích được đối chiếu với tài liệu nhà sản xuất có sẵn ngày 1 tháng 9 năm 2026. Trước khi hứa hỗ trợ, luôn kiểm tra chính xác mẫu máy, firmware, độ phân giải và tùy chọn đã lắp.

Ngôn ngữ máy in chỉ là một lớp

Người ta hay dùng từ giao thức cho những phần rất khác nhau của việc in. Tách bạch các lớp sẽ giúp chẩn đoán phần lớn sự cố tương thích dễ hơn nhiều.

Kết nối và truyền tải

USB, Bluetooth, cổng nối tiếp, Wi-Fi, Ethernet, TCP thô, LPR và IPP đưa lệnh in tới máy in. Chúng không quy định bố cục nhãn.

Ngôn ngữ lệnh của máy in

ZPL, EPL, TSPL, CPCL và DPL mô tả các đối tượng trên nhãn, đồng thời thường mở quyền điều khiển vật tư, trạng thái, bộ nhớ và khâu hoàn thiện.

Định dạng tài liệu hoặc raster

PDF, PWG Raster, JPEG và các luồng raster riêng của hãng biểu diễn một trang hoặc các điểm ảnh của nó. Thuộc tính lệnh in hoặc lệnh thiết bị riêng vẫn có thể điều khiển vật tư, cắt, chế độ bóc và phần cứng khác.

Ký hiệu mã vạch

Code 128, EAN-13, Data Matrix và QR Code quy định cách dữ liệu trở thành vạch hoặc mô-đun. Ngôn ngữ máy in đặt và tạo ra ký hiệu đó.

Chẳng hạn, một lệnh in ZPL có thể đi qua USB, Bluetooth hoặc mạng. Cổng TCP 9100 được đăng ký là luồng dữ liệu ngôn ngữ mô tả trang cho máy in, nhưng các byte bên trong vẫn phải thuộc ngôn ngữ mà máy in hiểu (đăng bạ dịch vụ của IANA). IPP là giao thức quản lý lệnh in. Máy khách có thể dò tìm máy in qua DNS-SD, truy vấn khả năng qua IPP, gửi lệnh in và nhận trạng thái. Dù vậy lệnh in vẫn cần một định dạng tài liệu mà máy in công bố, chẳng hạn PWG Raster, JPEG hoặc PDF (RFC 8011, hướng dẫn IPP của PWG).

In không cần trình điều khiển đã thành chuyện thường ở máy in văn phòng, nhưng máy in nhãn công nghiệp vẫn là ngoại lệ đáng chú ý. OpenPrinting nêu đích danh máy in nhãn công nghiệp và các thiết bị thị trường ngách khác là những trường hợp điển hình vẫn cần trình điều khiển, printer application hoặc đường ngôn ngữ thô (hướng dẫn về trình điều khiển của OpenPrinting).

Ba mô hình tích hợp cho cùng một cái nhãn

Phần lớn tích hợp in nhãn trực tiếp đi theo một trong ba mô hình. Không mô hình nào tốt nhất trong mọi tình huống và chúng không loại trừ nhau. Quy trình dùng mẫu lưu sẵn thường đặt trên nền một ngôn ngữ lệnh gốc hoặc trên firmware của máy in. Lựa chọn đúng phụ thuộc vào việc bao nhiêu phần dàn trang nằm ở máy chủ, bao nhiêu chuyển sang máy in và bao nhiêu dòng máy phải dùng chung một thiết kế.

Mô hìnhỨng dụng gửi gìLợi thế chínhChi phí chính
Ngôn ngữ lệnh gốcLệnh văn bản cho vị trí, phông chữ, mã vạch, vật tư và số bản in.Lệnh in nhỏ gọn, mã vạch do máy in tự tạo, trạng thái và điều khiển thiết bị, các định dạng lưu sẵn.Mỗi ngôn ngữ hoặc bản giả lập cần bộ kết xuất và bộ thử nghiệm riêng.
Luồng rasterMột ảnh bitmap hoàn chỉnh một bit hoặc màu giới hạn, kèm lệnh thiết lập và nạp vật tư riêng cho từng mẫu máy.Ứng dụng quyết định diện mạo cuối bằng một bộ dàn trang trực quan duy nhất.Dữ liệu nặng hơn, phải đóng gói điểm ảnh chính xác, bảng vật tư, hướng in và những đặc thù của từng mẫu.
Mẫu lưu sẵnMẫu được cài một lần, sau đó mỗi lệnh in chỉ gửi phần chữ thay đổi, dữ liệu mã vạch hoặc số hiệu mẫu.Lệnh in rất nhỏ khi vận hành và các quy trình độc lập rất tiện.Phải triển khai mẫu, quản lý phiên bản, đồng bộ và chỉ đổi bố cục hạn chế lúc chạy.
Ba mô hình in trực tiếp chính và những đánh đổi thực tế.

Ngôn ngữ lệnh không nhất thiết chính xác hơn đầu ra raster. Chúng chỉ chuyển những trách nhiệm khác sang máy in. Lệnh mã vạch gốc để firmware tự tính ký hiệu, còn đường raster đòi hỏi một chuỗi xử lý phía máy chủ, trong ứng dụng hoặc trong trình điều khiển, vẽ từng vạch ở độ phân giải cuối của máy in. Một bộ kết xuất dùng chung vẫn giữ được hình học mong muốn trên nhiều nền raster khác nhau, miễn là mỗi bitmap được tạo ở độ phân giải gốc của máy in đích và sau đó không bị co giãn.

Trình điều khiển có thể làm cho việc chuyển đổi đó tiện lợi mà không mở hết tính năng của máy in. Tài liệu kỹ thuật về CUPS của Honeywell cho thấy PDF hoặc PostScript được raster hóa rồi đóng gói thành đồ họa Direct Protocol, trong khi các lệnh in thô Fingerprint, IPL hay DPL đi qua hàng đợi chuyển thẳng. Đường trình điều khiển đó không mở dao cắt lẫn RFID, một lời nhắc hữu ích rằng độ trung thực hình ảnh và điều khiển thiết bị là hai chuyện khác nhau (tài liệu kỹ thuật về CUPS của Honeywell).

Cách nhận diện các ngôn ngữ phổ biến

Một lệnh in bắt được thường lộ ngôn ngữ trước cả khi ta biết mẫu máy in. Đây là các mẫu nhận diện, không phải ví dụ hoàn chỉnh sẵn sàng để in.

Ngôn ngữMẫu điển hìnhMẫu đó có nghĩa gì
ZPL II^XA ... ^FO ... ^FD ... ^XZMột định dạng bắt đầu, các trường được đặt và điền, rồi định dạng kết thúc.
EPL2N, rồi các trường A hoặc B, rồi P1Xóa bộ đệm ảnh, thêm chữ hoặc mã vạch, in một nhãn.
TSPL hoặc TSPL2SIZE, GAP, CLS, TEXT hoặc BARCODE, PRINTCác lệnh thiết lập và vẽ dễ đọc dựng nên cái nhãn.
CPCL! 0 ..., lệnh bố cục, FORM, PRINTĐịnh dạng nhãn ASCII thiên về in di động, có phần đầu lệnh in rõ ràng.
Brother RasterKhởi tạo nhị phân, byte điều khiển, các dòng raster lặp lại và lệnh in kết thúc.Nhãn đã được chuyển thành điểm trước khi tới máy in.
ESC/POSByte điều khiển escape và dấu phân tách nhóm trộn với chữ hoặc dữ liệu ảnh.Luồng thiên về hóa đơn, điều khiển bố cục dòng, cắt giấy, trạng thái và các tính năng nhãn tùy chọn.
Các dấu hiệu thường gặp trong một lệnh in thô.

ZPL II: nền tảng tương thích thiết thực

ZPL là viết tắt của Zebra Programming Language. ZPL II là biến thể hiện đại mà các tài liệu kỹ thuật ngày nay thường ngụ ý khi viết ZPL, dù Zebra lưu ý nó không hoàn toàn tương thích với ZPL nguyên bản. Đây là ngôn ngữ lệnh dạng ASCII cho trường nhãn, phông chữ, hình khối, đồ họa, mã vạch, đánh số thứ tự, định dạng lưu sẵn, thiết lập máy in và trạng thái. Hướng dẫn lập trình của Zebra ghi nhận cả lệnh định dạng lẫn lệnh điều khiển, gồm cả mẫu đã lưu và đồ họa đã tải xuống (hướng dẫn lập trình ZPL).

Tầm quan trọng của nó vượt xa phần cứng Zebra. Các sản phẩm hiện hành hoặc mới ra ghi nhận chế độ tương thích ZPL dưới những tên như giả lập ZPL2 của TSC, ZSim2 của Honeywell, SZPL của SATO, BPL-Z của BIXOLON và GZPL của GoDEX. Citizen liệt kê ZPL2 bên cạnh các bản giả lập Datamax và EPL2 trên CL-E303 (thông số Citizen CL-E303). Toshiba nêu ZPL II cạnh TPCL gốc của hãng trên một số mẫu.

Nhờ vậy ZPL II là ngôn ngữ đầu tiên hợp lý cho sản phẩm in thô phủ nhiều hãng. Điều đó không có nghĩa mọi lệnh ZPL đều hoạt động giống nhau ở khắp nơi. Phông chữ, lệnh RFID, đối tượng tải xuống, hiệu chuẩn vật tư, phản hồi trạng thái và các lệnh mới là những điểm hay khác biệt. Sản phẩm nên công bố hỗ trợ một hồ sơ ZPL đã kiểm thử, chứ không nên khẳng định mọi máy in ZPL đều thay thế được cho nhau.

EPL và EPL2: vùng phủ cũ vẫn còn giá trị

EPL là viết tắt của Eltron Programming Language. Chế độ trang của EPL2 mô tả một nhãn đầy đủ với các trường đã đặt vị trí. Chế độ dòng tương thích EPL1 cũ hơn và đơn giản hơn, cho ra kết quả theo từng dòng kiểu EPL1 và có những giới hạn bố cục đáng kể. Zebra mô tả chế độ dòng là không phù hợp để đặt phần tử tinh vi, để các phần tử chồng lên nhau hay in mã vạch dạng thang nằm ngang (hướng dẫn chế độ dòng EPL của Zebra).

Zebra vẫn tiếp tục ghi nhận EPL2 để tương thích với ứng dụng cũ, và nhiều mẫu hiện hành liệt kê EPL2 hoặc bản giả lập EPL2. Hướng dẫn lập trình đầy đủ vẫn còn cho các lệnh chữ ASCII, mã vạch, đồ họa, biểu mẫu, biến và bộ đếm (hướng dẫn lập trình EPL).

Giới hạn thực tế là sự trùng lặp. Nhiều ví dụ hiện hành trong hướng dẫn này ghi nhận cả EPL lẫn ZPL. Vì vậy thêm EPL sau ZPL sẽ phủ thêm bao nhiêu thiết bị vẫn là ẩn số, ngay cả khi tài liệu về tương thích EPL rất rộng. Dù vậy đây vẫn là bước bổ sung sớm hợp lý khi khách hàng hiện tại có mẫu EPL, hoặc khi máy thử nghiệm sẵn có đã hỗ trợ.

Cảnh báo về chữ và phông

Đừng cho rằng bố cục vừa vặn trong ZPL cũng sẽ vừa trong EPL. Zebra ghi nhận khả năng dùng TrueType, OpenType, phông co giãn và ánh xạ Unicode trong ZPL, còn EPL không dùng được chính những đối tượng phông co giãn ấy. Hãy thử bộ ký tự thật, số đo phông, cách ngắt dòng và hành vi phông dự phòng trên từng bản triển khai đích.

TSPL, TSPL2 và TSPL-EZ

TSPL và TSPL2 là các ngôn ngữ dựng nhãn của TSC. Chúng cùng một họ nhưng không đồng nghĩa hoàn toàn. Sổ tay chính thức chung chỉ ra khác biệt về mẫu máy và lệnh giữa hai bên. Các lệnh dễ đọc của chúng đặt kích thước nhãn, khe hoặc vạch đen, hướng in, độ đậm, chữ, mã vạch, ảnh bitmap, bộ đếm, tệp và số bản in (sổ tay lập trình TSPL và TSPL2).

TSPL-EZ là nhóm tương thích và giả lập của TSC, không phải cách viết khác cho mọi lệnh TSPL. Hậu tố và các bản giả lập được hỗ trợ thay đổi theo mẫu máy. Ví dụ, TSC ghi ngôn ngữ của RE310 là TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS (trang sản phẩm TSC RE310). Các mẫu TSC khác có thể ghi biến thể TSPL-EZ khác hoặc bộ tương thích khác.

Với một ứng dụng nhãn, hỗ trợ TSPL gốc có giá trị khi máy in TSC chiếm phần đáng kể trong đội máy của khách hàng. Các bản giả lập cũng khiến máy TSC hữu ích khi phát triển, nhưng không nên coi đó là bằng chứng rằng kết quả sẽ khớp với bản triển khai gốc của ngôn ngữ được giả lập trong mọi tình huống biên.

Brother có hai thế giới lệnh khác nhau

Rất dễ xếp nhầm Brother, bởi các dòng sản phẩm của hãng không dùng chung một mô hình tích hợp. Dòng QL là ví dụ rõ nhất. Bảng tra dành cho lập trình viên của Brother ghi QL-820NWB và QL-820NWBc hỗ trợ Raster, ESC/P và P-touch Template. QL-800 chỉ được ghi với Raster, còn nhiều mẫu QL khác có tổ hợp riêng (bảng tra mẫu máy trong tài liệu lệnh của Brother).

Đó là các giao diện lệnh tiêu chuẩn hiện được ghi nhận cho QL-820NWBc. Tuy vậy hậu tố mẫu máy và khác biệt theo khu vực đều quan trọng. Một tờ thông tin châu Âu chính thức cũ hơn của dòng QL-800 từng quảng bá giả lập ZPL II cho QL-820NWB kèm điều kiện upon request (tờ thông tin dòng QL-800 của Brother Europe). Trước khi khẳng định dứt khoát về ZPL trên bất kỳ máy QL-820 nào, hãy kiểm tra hậu tố mẫu, khu vực, firmware và cấu hình tùy chọn. Ở thế hệ QL này, đường trực tiếp được ghi nhận rõ ràng vẫn là Raster.

Brother Raster

Chuyển toàn bộ nhãn thành điểm, rồi gửi phần khởi tạo, thông tin vật tư, các dòng raster và lệnh in. Phù hợp nhất khi ứng dụng vốn đã lo phần bố cục và vẽ mã vạch.

Brother ESC/P

Gửi lệnh vẽ và lệnh chữ thay cho một ảnh bitmap hoàn chỉnh. Brother điều chỉnh ngôn ngữ này cho máy in của hãng, và nó không phải ESC/POS thiên về hóa đơn.

P-touch Template

Nạp một mẫu đã chuẩn bị vào máy in, rồi điền các đối tượng chữ và mã vạch từ máy quét, máy tính hay thiết bị khác mà không phải dựng lại toàn bộ bố cục.

Tài liệu Raster dòng QL-800 của Brother cho biết một lệnh in gồm lệnh khởi tạo, mã điều khiển, dữ liệu raster và lệnh in. Nó cũng định nghĩa kích thước trang, lề, độ phân giải, nén, cắt và dữ liệu raster hai màu tùy theo mẫu máy (tài liệu lệnh Brother QL Raster). Vậy nên raster giúp việc chuyển hình ảnh sang máy khác dễ hơn, nhưng không xóa bỏ phần việc riêng cho từng thiết bị. Tích hợp vẫn cần đúng mã vật tư, kích thước theo điểm, hướng in, nén, xử lý trạng thái và hành vi cắt.

Hai cách dùng không liên quan của từ raster

Brother Raster là luồng lệnh riêng của một dòng máy. PWG Raster là định dạng tài liệu chuẩn hóa, thường gửi qua IPP. Cả hai đều mô tả điểm ảnh, nhưng cấu trúc, lệnh và khả năng liên thông khác nhau, nên không thể thay thế cho nhau.

Một số máy in Brother dòng RJ, TD và TJ tạo thành nhóm riêng. Ở đó Brother ghi nhận FBPL cùng các bản giả lập ZPL, EPL, CPCL, DPL hoặc ESC/POS tùy mẫu. Trên RJ-2035B, firmware tải về FBPL-EZC cho EPL2, ZPL2 và CPCL, còn FBPL-EZP cho EPL2, ZPL2 và ESC/POS. Vì thế không nên hứa cả CPCL lẫn ESC/POS mà chưa kiểm tra firmware đang cài (hỏi đáp về firmware Brother RJ). Hướng dẫn EPL riêng liệt kê những lệnh mà bản giả lập hỗ trợ (hướng dẫn giả lập EPL của Brother).

CPCL và ESC/POS: hướng đi cho máy di động và hóa đơn

CPCL là viết tắt của Comtec Printer Control Language. Nó kết hợp ngôn ngữ dựng nhãn với chế độ in theo dòng và gắn bó chặt với in di động. Hướng dẫn CPCL hiện tại của Zebra nói về chiến lược rõ ràng khác thường: ZPL được ưu tiên cho phát triển mới, còn CPCL được duy trì trên một số máy Link-OS vì tương thích ngược, và các tính năng ZPL mới thường không sang CPCL (hướng dẫn CPCL của Zebra).

CPCL vẫn quan trọng khi một ứng dụng hoặc một đội máy di động đã dùng nó. Trên các mẫu như ZQ600 Plus vốn nhận CPCL, ZPL và EPL, CPCL giữ nguyên các lệnh in cũ nhưng không thêm mẫu máy vật lý nào (tài liệu ngôn ngữ của ZQ600 Plus). Các mẫu hiện hành khác, gồm ZQ120 Plus và ZQ220 Plus, ghi nhận CPCL và ESC/POS mà không có ZPL, nên giá trị tăng thêm phụ thuộc vào mẫu máy (tổng quan ZQ120 Plus và ZQ220 Plus).

ESC/POS do Epson giới thiệu như một hệ lệnh riêng cho máy in tại điểm bán. Nó bao quát chữ, vị trí in, nạp giấy, trạng thái, mã vạch, ảnh bit và phần cứng như dao cắt. Nó không chỉ dành cho hóa đơn: danh mục lệnh TM-L90 của Epson và ví dụ nhãn đi kèm có cả phần định vị nhãn và vạch đen trên những mẫu phù hợp (danh mục lệnh TM-L90, ví dụ nhãn của Epson). Các bản triển khai tương thích ESC/POS của hãng khác có thể chỉ mở một tập con và có mặc định riêng theo mẫu. Với phần mềm bán hàng nó vẫn là ưu tiên cao, nhưng với ứng dụng xoay quanh nhãn mã vạch bế sẵn thì thường thấp hơn.

Các ngôn ngữ khác của nhà sản xuất và ngành công nghiệp

Những ngôn ngữ này có vai trò riêng, nhưng mức sử dụng và tài liệu công khai tập trung trong hệ sinh thái của một số hãng và trong các tình huống chuyển đổi. Một bản đồ ngắn gọn hữu ích hơn là coi mỗi tên viết tắt như một nền tảng ngang hàng.

Ngôn ngữHệ sinh thái gốcVì sao vẫn quan trọngKhi nào nên hỗ trợ
DPLDatamax, nay thuộc dòng máy in của Honeywell.DPL khởi nguồn từ Datamax và Honeywell vẫn phát hành tài liệu lệnh DPL cập nhật. Nhiều hãng khác cũng giả lập nó.Thêm khi dữ liệu về mẫu máy Honeywell hoặc Datamax đủ để biện minh cho một hồ sơ đã kiểm thử.
IPLIntermec Printer Language, nay được hỗ trợ trong sản phẩm Honeywell.Các hệ thống kho và công nghiệp lâu đời có thể đã sinh ra ngôn ngữ phía máy chủ này (tài liệu lệnh IPL).Ưu tiên khi chuyển đổi từ Intermec hoặc khi đã biết rõ đội máy Honeywell.
FingerprintIntermec và Honeywell.Ngôn ngữ chạy ngay trong máy in, lấy cảm hứng từ BASIC, có thể chạy chương trình, logic, xử lý dữ liệu và quy trình in độc lập (tài liệu lệnh Fingerprint).Dùng khi tích hợp Honeywell cần ứng dụng chạy trong máy in hoặc có sẵn chương trình Fingerprint.
Direct ProtocolIntermec và Honeywell.Một tập con của Fingerprint do máy chủ điều khiển, không phải tên gọi khác của IPL.Dùng cho các định dạng Direct Protocol sẵn có hoặc quy trình Honeywell gốc không cần chương trình đầy đủ trong máy in.
SBPLSATO Barcode Printer Language.Đây là nhóm lệnh gốc dùng chung của SATO và có thể mở những tính năng mà bản giả lập không có.Thêm cho khách hàng dùng nhiều máy SATO hoặc cho quy trình RFID và điều khiển thiết bị gốc.
TPCLTEC Printer Control Language, ngôn ngữ gốc của máy in Toshiba TEC.Vẫn là ngôn ngữ gốc của máy in mã vạch Toshiba, dù một số mẫu cũng giả lập đối thủ (sổ tay trình điều khiển TPCL).Thêm khi có đội máy Toshiba hoặc thư viện định dạng TPCL trong phạm vi công việc.
Chế độ SLCS và BPLMáy in nhãn của BIXOLON.Sổ tay SLCS của BIXOLON định nghĩa các lệnh nhãn gốc. Các mẫu máy cũng có thể ghi chế độ tương thích BPL-Z, BPL-E và tùy chọn BPL-D.Dùng SLCS gốc khi hành vi riêng của BIXOLON quan trọng; nếu không, hãy kiểm chứng bản giả lập sẵn có trước.
EZPL, GEPL, GZPL và GDPLGoDEX.Sổ tay EZPL bao gồm EZPL gốc cùng GEPL tương thích EPL và GZPL tương thích ZPL. Một số sản phẩm hiện hành còn ghi GDPL tương thích Datamax (tài liệu RT700i+).Kiểm tra chính xác mẫu máy và firmware, thử từng chế độ tương thích trước khi cho rằng kết quả in giống nhau.
FBPLMột số máy in Brother dòng RJ, TD và TJ.Đây là đường lệnh gốc được ghi nhận trên những mẫu vốn cũng có thể mở nhiều bản giả lập và chương trình lưu sẵn.Thêm cho các chức năng công nghiệp hoặc di động gốc của Brother, không phải cho dòng QL dùng Raster.
Các ngôn ngữ máy in nhãn chuyên biệt gắn với từng nhà sản xuất.

Mẫu PM65 hiện tại của Honeywell cho thấy một máy in có thể nhận cả ngôn ngữ lệnh từ máy chủ, định dạng tài liệu và ứng dụng chạy ngay trong máy. Thông số của nó liệt kê DPL, Direct Protocol, Fingerprint, IPL, ZSim2 cho ZPL II, PDF, XML và in thông minh bằng C# trong cùng một thiết bị (thông số Honeywell PM65). CT4-LX của SATO cũng liệt kê SBPL gốc bên cạnh SZPL, SDPL, SIPL, STCL và SEPL tương thích đối thủ, kèm tùy chọn tự động nhận diện ngôn ngữ (thiết lập ngôn ngữ của SATO CT4-LX). SATO còn ghi rõ ngôn ngữ được chọn có thể giới hạn tính năng, chẳng hạn các lệnh RFID trên mẫu này chỉ dùng được trong SBPL và SZPL (hỗ trợ ngôn ngữ của CT4-LX).

Toshiba cũng theo đúng khuôn mẫu ấy. BX430T ghi nhận TPCL gốc kèm tự động nhận diện ZPL II, DPL, SBPL và PDF (thông số Toshiba BX430T). SLP-DX220 của BIXOLON ghi SLCS, BPL-Z, BPL-E và tùy chọn BPL-D (BIXOLON SLP-DX220). Những ví dụ này giải thích vì sao không thể cộng dồn số liệu theo giao thức. Một máy in vật lý có thể thuộc nhiều nhóm ngôn ngữ cùng lúc.

Hỗ trợ gốc và giả lập không phải một

Giả lập là việc diễn giải các lệnh viết cho một dòng máy in khác. Nó có thể giúp máy in thay thế chạy được mà không phải đụng vào ứng dụng đã ổn định, điều này cực kỳ hữu ích. Nhưng đó vẫn là một bản triển khai tương thích với danh sách lệnh, phông chữ và hành vi thiết bị được xác định trước.

Hướng dẫn giả lập ZPL II của Brother cho thấy khác biệt rất rõ. Nó liệt kê các lệnh và phông được hỗ trợ, yêu cầu thiết lập vật tư và hiệu chuẩn trong công cụ quản lý của Brother, thậm chí còn mô tả cơ chế bỏ qua một số lệnh định dạng ZPL khi chúng gây lỗi in (hướng dẫn giả lập ZPL II của Brother). Một nhãn vận chuyển đơn giản có thể chạy nguyên xi, còn định dạng có tải phông, truy vấn trạng thái, ghi RFID hoặc phụ thuộc một thiết lập lưu lâu dài thì có thể không.

Cần kiểm tra gì ở mỗi bản giả lập

  • doneTập lệnhĐối chiếu từng lệnh ứng dụng gửi đi với tài liệu giả lập của đúng mẫu máy đó.
  • donePhông chữ và bảng mãThử Unicode, các bảng mã, tên phông, số đo, ký tự dự phòng và hỗ trợ phông tải xuống.
  • doneTọa độ và độ phân giảiXác nhận đầu ra ở 203, 300 hoặc 600 dpi, phép xoay, gốc tọa độ và cách làm tròn ở vị trí điểm cuối cùng.
  • doneĐiều khiển vật tưThử khe, vạch đen, vật liệu liên tục, hiệu chuẩn, xé, bóc, cắt và vật liệu không đế khi phù hợp.
  • doneTrạng thái và phiên làm việcKiểm tra khởi tạo, thiết lập lưu lâu dài, phản hồi lỗi, kết thúc lệnh in, tạm dừng, hủy và kết nối lại.
  • doneNhãn thậtIn các lệnh chứa giá trị ngắn nhất và dài nhất dự kiến, đồ họa, mọi loại mã vạch, nhiều bản sao và lệnh in sau khi khởi động lại máy.

Vì sao không có biểu đồ thị phần giao thức trung thực

Các báo cáo thị trường công khai thường ước tính doanh thu nhà sản xuất hoặc số máy xuất xưởng trong một nhóm như máy in mã vạch. Ước tính độ phủ của một giao thức thì cần nhiều hơn thế: số máy đang hoạt động theo đúng mẫu, firmware và tùy chọn, những bản giả lập nào đang bật, mỗi bản giả lập hỗ trợ lệnh nào, và đội máy đó đã nhận ngôn ngữ khác hay chưa. Không bộ dữ liệu công khai, kiểm chứng được nào đã xem cho hướng dẫn này cung cấp mối liên hệ đó.

Thị phần của hãng cũng không quy đổi thẳng thành thị phần ngôn ngữ. Phần cứng Zebra góp vào ZPL, nhưng chế độ ZPL còn xuất hiện trong sản phẩm của TSC, Honeywell, SATO, BIXOLON, Citizen, Toshiba, Brother và GoDEX. Ngược lại, một máy in SATO, Honeywell hay Toshiba có thể nhận năm ngôn ngữ trở lên. Các tỷ lệ chồng lấn nhau và tổng của chúng dễ vượt quá 100 phần trăm.

Mẫu ví dụĐường ngôn ngữ có tài liệuVí dụ này chứng minh điều gì
Zebra ZQ600 PlusZPL, CPCL, EPL.Nhiều ngôn ngữ quan trọng của Zebra có thể chồng lấn trong cùng một dòng máy di động.
TSC RE310TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS.Một mẫu máy di động của TSC phủ được nhiều mục tiêu tương thích.
Brother QL-820NWBcRaster, ESC/P, P-touch Template.Các đường lệnh tiêu chuẩn có tài liệu của mẫu QL này khác bộ ba quen thuộc ZPL, EPL và TSPL. ZPL tùy chọn phải kiểm tra trong cấu hình.
Brother RJ-2035B (ngừng bán ở Bắc Mỹ)FBPL cùng EPL2 và ZPL2; CPCL với firmware EZC hoặc ESC/POS với firmware EZP.Dòng công nghiệp di động của Brother khác hẳn dòng QL, và firmware quyết định bộ tương thích cuối cùng.
Honeywell PM65Fingerprint, Direct Protocol, IPL, DPL, ZSim2, PDF, XML, C#.Phần cứng công nghiệp hiện nay có thể giữ lại nhiều ngôn ngữ cũ đến từ các thương vụ mua lại.
SATO CT4-LXSBPL, SZPL, SDPL, SIPL, STCL, SEPL.Chế độ gốc và chế độ tương thích đối thủ cùng tồn tại trong một máy in để bàn.
Citizen CL-E303Datamax DMX, ZPL2, EPL2.Các ngôn ngữ tương thích lan xa hơn nhiều so với công ty đã tạo ra chúng.
Toshiba BX430TTPCL kèm tự động nhận diện ZPL II, DPL, SBPL và PDF.TPCL gốc và nhiều chế độ thay thế có thể dùng chung một nền tảng.
Ví dụ các mẫu máy có tài liệu, trong đó một mẫu được ghi là ngừng bán ở Bắc Mỹ. Đây là bảng bằng chứng tương thích, không phải cam kết cho cả thương hiệu và cũng không phải bảng thị phần.

Cách đo tốt hơn là dữ liệu vận hành của chính sản phẩm. Hãy ghi lại đúng mẫu máy in mà người dùng yêu cầu, lệnh in đi qua trình điều khiển hay ở dạng dữ liệu thô, hiện đang sinh ra ngôn ngữ nào, và liệu một ngôn ngữ đã hỗ trợ khác có chạm tới thiết bị đó chưa. Sau đó hãy đếm số thiết bị tăng thêm, đừng đếm các nhãn giao thức chồng lấn.

Ứng dụng nhãn nên hỗ trợ gì trước?

Thứ tự đúng phụ thuộc vào điểm xuất phát. Sản phẩm mới cần một nền rộng. Sản phẩm đã in được ZPL và TSPL thì nên tối ưu cho hệ sinh thái mới và cho phần cứng thử nghiệm sẵn có.

Giai đoạnNgôn ngữ hoặc đường điLý do
Nền tảngZPL IINhiều nhà sản xuất lớn ghi nhận chế độ tương thích, và ngôn ngữ này mang lại mô hình nhãn hiện đại, đầy đủ.
Nền tảngTSPL hoặc TSPL2Phủ máy TSC ở mức gốc và mô hình lệnh mạch lạc, nhất là khi thiết bị TSC quan trọng với thị trường mục tiêu.
Mở rộngBrother RasterThêm một đường lệnh trực tiếp cho các mẫu QL có giao diện tiêu chuẩn là Raster, ESC/P và P-touch Template. Kiểm tra ZPL tùy chọn theo mẫu máy và khu vực.
Tương thíchEPL2Hỗ trợ các định dạng cũ đã phổ biến và thường rẻ để thêm và kiểm thử, nhưng chồng lấn nhiều với phần cứng chạy được ZPL.
Tương thích di độngCPCLQuan trọng khi đội máy di động thật hoặc ứng dụng CPCL sẵn có đòi hỏi; đóng góp ít hơn khi chính các máy đó nhận ZPL.
Tương thích công nghiệpDPLHữu ích cho các hệ thống Datamax và Honeywell, và nhu cầu nên được xác nhận bằng dữ liệu mẫu máy thực tế.
Theo nhu cầuIPL, Fingerprint, Direct Protocol, SBPL, TPCL, SLCS, EZPL, FBPL, ESC/POSBổ sung chiều sâu gốc khi đội máy của khách hàng, một tính năng còn thiếu hoặc quy trình hóa đơn làm cho lợi ích trở nên rõ ràng.
Lộ trình mặc định có cơ sở cho một ứng dụng nhãn phủ nhiều hãng.

Nếu ZPL và TSPL đã chạy, thứ tự triển khai và tầm quan trọng chiến lược có thể lệch nhau. EPL2 có thể là tính năng kế tiếp nhanh nhất nếu một máy thử nghiệm hiện có đã giả lập nó. Brother Raster là hướng triển khai khác biệt hơn so với thêm một bản giả lập EPL2 nữa, nhưng phần thiết bị khách hàng tăng thêm vẫn chưa rõ cho tới khi đo được danh sách mẫu máy mục tiêu. Trên thiết bị vốn đã nhận ZPL, CPCL thêm khả năng tương thích ngôn ngữ lệnh in hơn là thêm mẫu máy mới; chính những mẫu chỉ hiểu CPCL mới làm nó có giá trị.

TSC RE310 so với Brother: câu trả lời thực tế

Cuộc thảo luận dẫn tới hướng dẫn này hỏi liệu TSC RE310 đã hỗ trợ EPL2 chưa và máy in Brother có thêm lợi thế gì không. Câu trả lời theo tài liệu là có, RE310 ghi EPL2 trong bộ TSPL-EZC. Và chọn mẫu Brother nào quan trọng hơn chính cái tên Brother.

Máy in thử nghiệmĐường đi có tài liệu liên quan ở đâyNó thêm được gì
TSC RE310TSPL-EZC (EPL2, ZPL2, CPCL), or ESC-POS.Thử nghiệm ngay và rẻ với nhiều bản giả lập trên máy đã có sẵn.
Brother RJ-2035BFBPL cùng EPL2 và ZPL2; CPCL hoặc ESC/POS tùy firmware EZC hay EZP đang cài.Thêm FBPL và cách hành xử của bộ giả lập từ một hãng thứ hai, nhưng EPL2, ZPL2 và CPCL trùng với RE310. Brother Mobile Solutions ghi máy này ngừng bán ở Bắc Mỹ; mức sẵn có khác nhau theo khu vực.
Brother QL-820NWBcRaster, ESC/P, P-touch Template.Một hướng tích hợp QL riêng, nhờ đó đa dạng hơn về đường lệnh.
Giá trị về mặt giao thức của ba hướng thử nghiệm liên quan.
Có cần một máy Zebra gốc để đối chiếu không?

Một chiếc GK420d cũ chỉ hữu ích khi bạn cần tái hiện đội máy đời trước. Nó hỗ trợ ZPL và EPL gốc kèm tự động nhận diện định dạng, cùng chế độ dòng tương thích EPL1, nhưng trang vòng đời của Zebra cho thấy việc bán theo khu vực đã kết thúc năm 2021 hoặc 2022 và dịch vụ kết thúc năm 2025 (vòng đời của GK420d). Nếu mua mới, máy đối chiếu được hỗ trợ cho ZPL II và EPL2 là ZD421 hiện hành. Ở máy đó, chế độ dòng tương thích EPL1 chỉ có trên cấu hình nhiệt trực tiếp 203 dpi (thông số ZD421).

Khuyến nghị cho kế hoạch phần cứng này

Hãy triển khai và thử EPL2 trên RE310 trước, vì máy đã có sẵn. Nếu lần mua tiếp theo nhằm phủ nhiều đường lệnh mới nhất có thể, một chiếc QL-820NWBc tiêu chuẩn làm đích Raster sẽ mang lại nhiều khác biệt hơn RJ-2035B. Brother Mobile Solutions ghi mẫu RJ đã ngừng bán ở Bắc Mỹ, trong khi mức sẵn có khác nhau theo khu vực. Hãy xác nhận cấu hình theo khu vực của máy QL, vì tài liệu cũ từng nêu hỗ trợ ZPL tùy chọn chỉ khi yêu cầu. Thêm CPCL trên RE310 khi nhu cầu di động đủ lớn, rồi ưu tiên DPL hay một dòng ngôn ngữ gốc khác dựa trên yêu cầu thật của khách hàng.

Vẫn có một lý do để chọn RJ-2035B: thử nghiệm tương thích giữa các bản triển khai khác nhau. Bản giả lập EPL hay ZPL thứ hai có thể phơi bày những giả định mà bản đầu tiên bỏ qua. Điều đó hữu ích sau khi sản phẩm đã tuyên bố tương thích nhiều hãng, nhưng đó là mục tiêu khác với việc bổ sung một mô hình tích hợp chưa được phủ.

Xây dựng hỗ trợ quanh năng lực, không phải quanh tên viết tắt

Một hệ thống in dễ bảo trì nên giữ một mô hình nhãn trung tính duy nhất, rồi kết xuất nó qua các nền riêng cho từng ngôn ngữ. Mô hình trung tính định nghĩa kích thước vật lý, độ phân giải điểm cuối cùng, các khối chữ, dữ liệu mã vạch, vùng lặng, hình ảnh, số bản sao và ý đồ hoàn thiện. Mỗi nền sẽ báo lại nó giữ được gì và phải raster hóa hay từ chối cái gì.

Tiêu chí phát hành cho mỗi ngôn ngữ máy in mới

  • doneCông bố hồ sơLiệt kê các lệnh, loại mã vạch, độ phân giải, chế độ vật tư, bảng mã được hỗ trợ và những giới hạn đã biết.
  • doneGiữ lệnh in mẫuLưu các lệnh in nguồn tiêu biểu và ảnh bitmap kỳ vọng cho từng nền.
  • doneDùng máy in thậtKhi có thể, hãy đưa vào ít nhất một máy gốc để đối chiếu và một bản giả lập quan trọng trước khi tuyên bố tương thích nhiều hãng.
  • doneThử dữ liệu khóIn trường trống, mã định danh dài, số 0 ở đầu, chữ không thuộc hệ Latinh, ký tự điều khiển và mã vạch chứa dữ liệu tối đa.
  • doneQuét kết quảKiểm tra mã vạch thật bằng đúng máy quét và khoảng cách làm việc dùng trong quy trình thực tế.
  • doneLặp lại sau mỗi bản cập nhậtChạy lại bộ kiểm thử sau khi đổi firmware, bộ kết xuất, phông chữ, cách nén hay thiết lập vật tư.

Cũng hãy tách riêng phần thử thiết kế nhãn với phần thử giao thức máy in. Một ngôn ngữ có thể vẽ đúng các điểm được yêu cầu mà mã vạch vẫn hỏng, vì nó quá nhỏ, thiếu vùng lặng hoặc in với độ đậm sai. Với bản thân cái nhãn, hãy dùng danh sách kiểm tra thiết kế nhãn mã vạch, và trước khi chọn vật tư cùng phần cứng thì hãy so sánh in nhiệt trực tiếp với in truyền nhiệt.

Nguồn tham khảo và phương pháp

Bài viết này dựa vào tài liệu lập trình gốc của nhà sản xuất, bảng tra cho lập trình viên và thông số sản phẩm hiện hành ở mức tối đa có thể. Trang sản phẩm chứng minh một mẫu máy có ngôn ngữ nào, còn tài liệu lệnh chứng minh bản triển khai đó thực sự hỗ trợ gì. Chúng tôi không dùng ước tính quy mô thị trường thương mại để tạo tỷ lệ phần trăm theo giao thức, vì phân nhóm, khoảng thời gian và mức chồng lấn của chúng không so sánh được.

Bước tiếp theo

Hãy xuất danh sách mẫu máy in được yêu cầu trong 90 ngày gần nhất và nhóm chúng theo đúng đường ngôn ngữ có tài liệu. Chọn bước triển khai tiếp theo dựa trên số thiết bị tăng thêm mà nó chạm tới, rồi in và quét một gói kiểm thử tương thích nhỏ trước khi tuyên bố đã hỗ trợ ngôn ngữ đó.

Câu hỏi về ngôn ngữ máy in nhiệt

ZPL có phải là một định dạng mã vạch không?
Không. ZPL là một ngôn ngữ máy in. Code 128, EAN, Data Matrix và QR Code là các ký hiệu mã vạch mà một lệnh ZPL có thể tạo ra và đặt vào vị trí.
Máy in tương thích ZPL có hỗ trợ mọi lệnh ZPL không?
Không hẳn. Máy gốc và bản giả lập khác nhau về firmware, tập lệnh, phông chữ, cách báo trạng thái, tùy chọn vật tư và độ phân giải. Hãy xem đúng hướng dẫn lập trình hoặc giả lập và thử lệnh in thật.
In raster có chất lượng kém hơn lệnh gốc không?
Không. Chất lượng raster có thể rất tốt khi ứng dụng kết xuất đúng độ phân giải điểm của máy in và không co giãn mã vạch. Đổi lại, dữ liệu nặng hơn và ứng dụng gánh nhiều trách nhiệm hơn.
Ứng dụng mới có nên làm CPCL trước Brother Raster không?
Chỉ khi nhu cầu CPCL trên máy di động rõ ràng hơn. Nhiều mẫu di động Zebra hiện hành nêu ở trên nhận cả CPCL lẫn ZPL, trong khi Brother Raster cho một đường lệnh trực tiếp tiêu chuẩn với các mẫu QL. Hãy kiểm tra đúng cấu hình QL, vì hỗ trợ ZPL tùy chọn từng tồn tại.
Có thể cộng dồn thị phần theo giao thức không?
Không. Một máy in có thể nhận nhiều ngôn ngữ, nên các nhóm độ phủ chồng lấn nhau. Hãy xuất phát từ mẫu máy chính xác của khách hàng và đếm số thiết bị mà mỗi nền mới thêm vào so với phần đã hỗ trợ.
TSC RE310 có hỗ trợ EPL2 không?
TSC ghi nhận EPL2 là một phần của bộ tương thích TSPL-EZC trên RE310, cùng với ZPL2 và CPCL. Hãy coi đó là bản giả lập và thử các lệnh EPL, phông chữ, thiết lập vật tư cùng hành vi trạng thái mà ứng dụng của bạn dùng.
Ngôn ngữ máy in nhiệt In trực tiếp Tương thích máy in