将 HTML 转换为 ZPL - javascript

问题描述 投票:0回答:3

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

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

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

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

html cordova bluetooth zebra-printers zpl
3个回答
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;
            }

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

这是一个例子

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');

这将导致:

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"

您可以将“dStr”的内容显示在浏览器上,并在打印机上使用“pStr”。

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

这是一款适用于 Android 和 Zebra 的工具

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


0
投票

此处提供(商业/非免费)HTML 到 ZPL API:https://www.htmltozpl.com

您可以将 HTML 字符串发送到 API,它会将 HTML 转换为 ZPL 代码,然后可以将其发送到 Zebra 标签打印机。


0
投票

现在可以使用开源工具“html2zpl”将 HTML 转换为 ZPL。请参考https://github.com/meiXXI/html2zpl

html2zpl 基于嵌入式 Chromium,将您的网页内容呈现为 PNG。因此,您可以利用完整的网络技术堆栈来创建标签。您可以通过文件或使用外部 URL 引用它来提交您的 Web 内容(首选)。

渲染为 PNG 后,您的内容将被转换为单色图像并以 ZPL 本机 ASCII 十六进制字符串进行编码。最终的 ZPL 标签仅包含嵌入图形字段 (^GF) 中的 ASCII 十六进制字符串,并将在响应中发回。

© www.soinside.com 2019 - 2024. All rights reserved.