将 HTML 转换为 ZPL - javascript

Ism*_*MAC 5 html bluetooth zpl zebra-printers cordova

我有一个要求。我开发了一个具有 HTML 内容的网络应用程序。我想将此内容打印到 Zebra 蓝牙打印机 (IMZ320)。浏览了几篇博客后,我发现需要将 HTML 内容转换为 ZPL 格式才能打印。

  1. 我们可以将 HTML 转换为 ZPL,然后使用插件发送打印 - https://github.com/LiamBateman/cordova-print

  2. 是否有任何插件或库可以实现 HTML 到 ZPL 的转换?

非常感谢你,赛义德·伊斯梅尔。

456*_*56q 0

我为此使用了一个简单的 JS 函数。第一个函数用于格式化文本以在 HTML 中显示,第二个函数用于格式化文本以进行 ZEBRA 打印。我在本例中使用了 CPCL。但 ZPL 也会以同样的方式工作。

 function sDisplayText(left) {                    
                var sResult = "<div>" + left + "</div>";
                return sResult;
            }




 function sPrintText(left) {                    
                var sResult = "T 7 0 30 30 " + left + '\r\n';
                return sResult;
            }
Run Code Online (Sandbox Code Playgroud)

我假设您从某处的数据库获取内容。您必须在读取数据并逐行转换时使用该函数:

这是一个例子

var pStr = "";
var dStr = "";
pStr  = pStr  + sPrintText('My test row 1');
dStr = dStr + sDisplayText('My test row 1');

pStr  = pStr  + sPrintText('My test row 2');
dStr = dStr + sDisplayText('My test row 2');
Run Code Online (Sandbox Code Playgroud)

这将导致:

dStr = "<div>My test row 1</div><div>My test row 2</div>"
pStr = "T 7 0 30 30 My test row 1\r\nT 7 0 30 30 My test row 2\r\n"
Run Code Online (Sandbox Code Playgroud)

然后,您可以获取“dStr”的内容并将其显示在浏览器上,并将“pStr”用于打印机。

我进一步建议使用一个能够理解 ZEBRA 的插件,而不仅仅是任何打印插件。

这是一款适用于 Android 和 Zebra 的产品

https://github.com/bstmedia/zbtprinter/