如何使用TSPL和JavaScript打印标签

译文 精选
开发 前端
本文将简要介绍TSPL语言。我们可以使用诸如TEXT(文本)、BARCODE(条形码)和QRCODE(二维码)之类的TSPL命令构建标签。

译者 | 涂承烨

审校 | 孙淑娟 梁策

标签打印机可以支持TSPL、ZPL、EPL等编程语言。本文将简要介绍TSPL语言。我们可以使用诸如TEXT(文本)、BARCODE(条形码)和QRCODE(二维码)之类的TSPL命令构建标签。比如,如果我们想打印带有文本和条形码的标签,我们可以使用这些命令及其属性(比如位置或大小),然后通过蓝牙或串行连接将这些命令发送到标签打印机。


在上图中,你可以看到,左侧是TSPL命令,右侧是打印出来的标签。

你可以在​​这里​​找到所有可用的命令。下面我们先来看看其中一部分,通过这些命令了解如何使用TSPL。

坐标和尺寸(以点为单位)

无论是TEXT(文本)、BARCODE(条形码)还是BITMAP(位图),通常坐标和大小都以点为单位。每英寸点数取决于打印机的DPI。

例如,如果打印机是:

  • 203 DPI -> 表示一英寸内有203个点,或一毫米内有8个点。
  • 300DPI -> 表示一英寸内有300个点,或一毫米内有11.8个点。

根据上面这些规则,如果要添加高度为10mm的条形码,且打印机为203DPI,则应将高度设置为80(10毫米*8=80点)。

标签的尺寸和间隙

需要告诉打印机标签的大小,像这样:

SIZE 4,1

这说明标签的尺寸是4x1英寸。

也可以用公制单位(毫米mm)来设置它:

SIZE 50 mm,25 mm

可以设置标签之间的间距(GAP m,n)。

GAP 0,0

这里的间距为零英寸,意味着它是一个连续的标签。

文本

我们可以使用TEXT命令在标签上打印文本,可给出位置、字体大小、旋转等属性:

TEXT x,y,“font”,rotation,x-multiplication,y-multiplication,[alignment,]“content”

条形码

我们可以使用条形码命令向标签添加条形码:

BARCODE X,Y,”codetype”,height,human-readable,rotation,narrow,wide,[alignment,]”content”

示例命令:

TEXT 10,10, "2",0,1,1, "Human readable alignment"
BARCODE 10,50, "128",100,1,0,2,2,"left"
BARCODE 310,50, "128",100,2,0,2,2,"center"
BARCODE 610,50, "128",100,3,0,2,2,"right"

结果:

打印和结束命令

构建标签后,我们需要告诉打印机,标签已准备好打印。我们使用PRINT m[,n]命令来执行此操作:

以上命令打印了三个标签,一个标签带有“Text 1”,两个标签带有“Text 2”。

我们在末尾添加END命令,告诉打印机我们已经完成打印。没有这个命令,打印机可能不会在缓冲区打印最后一张图像。

用JavaScript打印(Node.js)

生成的命令可以通过串行或蓝牙发送到打印机。为了证明这一点,我使用Node创建了一个简单的代码。我使用“usb”软件包连接及发送命令(在Windows上可能需要安装驱动程序,​​了解更多信息请访问软件包的页面​​)。

结果:

当我在Alto的POS&Inventory项目上实现此功能时,需要逐个收集有关打印标签的信息。希望此文对想要学习标签打印的人士有所帮助。

译者介绍

涂承烨,51CTO社区编辑,信息系统项目管理师、信息系统监理师、PMP,某省综合性评标专家,拥有15年的开发经验。对项目管理、前后端开发、微服务、架构设计、物联网、大数据等较为关注。目前就职于壹体技术有限公司,从事较大型项目管理工作。

原文标题:How to Print labels with TSPL and JavaScript,作者:Altynbek Usenbekov

责任编辑:华轩 来源: 51CTO
相关推荐

2023-10-10 09:00:00

CSSJavaScript

2021-04-08 18:39:57

JavaScriptExpress区块链

2019-11-18 09:04:16

metaflac音乐标签开源

2019-02-26 13:00:11

JavaScriptURL前端

2021-08-11 22:50:53

JavaScript编程开发

2022-11-29 08:07:23

CSSJavaScript自定义

2009-01-19 09:40:53

JavaScript事件代理事件处理器

2021-05-28 09:10:40

JavaScript性能GPU

2024-09-27 09:12:12

JavaScriptscrollTo窗口

2024-09-02 08:00:00

2011-08-12 08:56:31

JavaScript

2017-07-07 14:41:13

机器学习神经网络JavaScript

2023-05-11 08:00:00

JavaScript柱状图

2015-03-30 15:45:41

javascripta标签绝对路径方法

2017-09-12 15:11:12

Chrome

2009-06-10 21:51:42

JavaScript XMLFirefox

2018-04-12 14:33:29

2011-05-03 09:19:28

打印机使用保养

2009-06-30 15:05:52

JSP数据JavaScript数

2011-11-07 09:56:17

HTML 5
点赞
收藏

51CTO技术栈公众号