- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将从 < div > 截取的屏幕截图转换为 NodeJS 中的 ZPL 字符串。很像 http://labelary.com/viewer.html这将拍摄图像并输出 ZPL 代码。
我在做什么:
我正在使用一个名为“domToImage”( https://github.com/tsayen/dom-to-image ) 的包,它会截取我正在说明的 DOM 的屏幕截图。我目前正在使用 domToImage.toBlob() 函数,该函数随后返回 Blob{size: 102776, type: "image/png"}。
为了测试它是否真的有效,我使用“FileSaver”( https://www.npmjs.com/package/file-saver ) 将文件保存为 PNG,它确实有效,而且图片看起来很棒!!
这是我正在做的一个简单的示例代码
domtoimage.toBlob(document.getElementById('labelInfo'))
.then(function (blob)
{
console.log(blob)
saveAs(blob, "test.png");
});
我正在尝试做的是将该“blob”转换为 ZPL 字符串或格式,以便我可以将其发送到网络中的打印机。
A) 我尝试安装 image-to-zpl( https://www.npmjs.com/package/image-to-zpl ) 但我认为我可能做错了什么,因为我无法像我能够安装的任何其他模块一样需要它,我收到一条错误消息: 找不到模块“image-to-zpl”的声明文件。 '/path/to/node_modules/image-to-zpl/index.js' 隐式具有 'any' 类型。我什至尝试使用 import 而不是 require 但没有成功。
B) 我在 Java ( http://www.jcgonzalez.com/java-image-to-zpl-example ) 中找到了一个代码,但我几乎什么都不懂,我不知道如何将数据从我的应用程序发送到 Java 文件,然后将字符串带回应用程序NodeJS(我是菜鸟)。
C) 我研究了 Labelarys API,但不幸的是,它所做的只是将 ZPL 转换为 PDF 或 PNG,但反之则不行。
D) 考虑使用 zbtprinter ( https://github.com/bstmedia/zbtprinter/ ) 因为它实际上具有我需要的功能但不幸的是它会直接使用蓝牙将它发送到打印机而不输出 ZPL,在我的情况下不能使用因为打印机没有蓝牙。它在网络上。我还需要学习如何通过网络将整个字符串直接发送到打印机:/
我急需帮助各位
编辑
这就是我在 HTML 中所做的:
<div style="width: 1000px" class="labelInfo" id="labelInfo">
<img src="images/template.bmp" style="max-width: 100%; max-height: 100%">
<div class="ref"> {{ referenceNumber }} </div>
<div class="serial">{{ serialNumber }}</div>
<div class="date" id="date">{{ yearMonth }}</div>
<canvas class="qr" id="canvas"></canvas>
</div>
描述:我正在使用一个图像模板,其中包含所有 Logo ,标签的空白部分被 3 个 div 填充;我有 3 个 div,根据用户输入,这些字段被放置在图像模板中的指定位置; Canvas 用于根据序列号的内容放置二维码。
当用户点击按钮时,后端代码会获取整个“labelInfo”div 的图像,然后将其转换为 ZPL 以便发送到打印机(这就是我想要实现的目标)
最佳答案
将通用图像转换为 ZPL 可用的图像非常重要,无法用几行伪代码来描述。相反,我已经将这段代码搁置了一段时间,你的问题促使我清理它并使其可用:
https://github.com/metafloor/zpl-image
或
npm 安装 zpl-image
适用于浏览器和 node.js。在浏览器中,您传入 <img>
或 <canvas>
元素并返回 ZPL 使用的 Z64 压缩 GRF 格式的渲染图像。
用于打印图像的 ZPL 和 zebra 打印机的其他任何东西看起来像:
// image is a <img> or <canvas>
let res = imageToZ64(image);
let zpl = `
^XA^LH0,0^FWN^PON^PMN^LRN
^FO10,10^GFA,${res.length},${res.length},${res.rowlen},${res.z64)
^XZ`;
关于javascript - 从类型 : 'image/png' to ZPL in NodeJs 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57819550/
我正在尝试找到使用 ZPL 打印上标的解决方案。 例如,如果我有这串 ZPL: string ZPLString = "^XA" + "^FO50,50" + "^A0N50,
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 2 年前。
我已经创建了我的 ZPL 字符串并在最后附加了 ^PQ +numCopies。调试器用 ^PQ3 显示整个字符串是正确的在末尾。但打印机只能打印 1 份。 打印机是 110Xi4,板载配置显示它在 Z
我正在维护一个将 ZPL 输出到标签打印机的程序。今天,字符序列 ~Ja 作为要打印的字符串的一部分出现,这是 ZPL 的“全部取消”命令。不用说,标签没有打印。 ZPL 中是否有一种简单的方法来逃避
我有一堆 ZPL 字符串 (^XA ...^XZ),想要渲染到图像文件(比如 PNG)。 目前,我们通过向托管 ZPL 服务器发送命令来实现这一目标。 有没有开源库可以做到这一点? 最佳答案 访问ht
我需要帮助找出适当的 ZPL 命令来发出“分页符”。 如果标签是连续的,我想这是一个 ^LL 作业,如果存在,请添加切割器命令。 但是对于预打印(带有光学分隔符),我如何输入“下一个标签”? 我猜涉及
我有 2 台 Zebra GC420t 打印机和一个创建 ZPL 代码并将其发送到选定打印机的 wpf 应用程序。打印的标签差异太大。请参见下图。 The outcomes and printer c
我正在尝试正确证明我正在使用 .Net 程序中的 ZPL 打印的条形码。这是我当前的代码: ^FO10,50^FB500,1,0,R,0^AO,40,40^BY3^BCN,100,Y,N,N^FD12
我有 UPS 生成的带有 ZPL 的标签,我想打印它。我可以通过打印机驱动程序来完成,但不太方便。 我可以生成 GIF 文件,但将大小调整为 4x8 英寸后,质量会下降。 有没有办法将 ZPL 文件转
我有 UPS 生成的带有 ZPL 的标签,我想打印它。我可以通过打印机驱动程序来完成,但不太方便。 我可以生成 GIF 文件,但将大小调整为 4x8 英寸后,质量会下降。 有没有办法将 ZPL 文件转
我正在尝试使用以下ZPL与Zebra ZP 450打印机在标签上打印Code 128条码: ^BY3^BCN,112,N^FO090,660^FD>;>89102100^FS 我希望条形码扫描为“91
我们正在使用 Zebra Designer Pro 创建模板。我们在模板上放置了各种标签,我们在运行时通过代码动态向其传递值。 我们通过在代码中创建 ZPL 并附加我们想要在 ZPL 中打印的各种参数
我正在尝试使用 ZPL 命令将自定义字体 .TTF 下载到 Zebra 打印机。有一个 ZPL 命令 ~DY 可以将字体下载到打印机。该命令具有以下参数~DYd:f,b,x,t,w,数据 d- 文件位
我想在 ZPL 代码中注释行,例如: ^XA ^MMT ^LL0531 ^PW1280 ^LS0 ^FT81,528^A0B,29,28^FH\^FDTEXT^FS //
我使用 Zebra Designer 创建标签。但是我有一个问题来居中我的元素。 事实上,当我用 Zebra Designer 创建一个文本框时,它有一个固定的长度,当我替换里面的文本时(例如通过一个
我已经用 java 完成了这个编程,它可以工作,但不能让它在 vb6 中运行(我需要) 基本上我需要通过网络将数据发送到斑马打印机。 整个过程有效(未报告错误但打印机不打印。 在 Java 中,我使用
我需要使用 zpl 2 代码打印特殊土耳其字符。我创建 zpl 字符串并将其发送到打印服务器。但土耳其语字符未打印。我的代码如下。我添加了带有土耳其字符的字体。在打印文档中,它忽略字符打印测试。我需要
我需要将一些文本在标签上水平居中,这样如果文本的长度更改它仍将保持居中。 我正在使用 XSLT 来处理这样的格式:
我刚刚修改了 Zebra 打印机的标签。我几乎完成了它,但我目前停留在第一行,我在多个站点上阅读了不同的主题,但没有任何帮助我得到我想要的东西。我们的标签是10cm高15cm宽,下面一行需要从中间到边
根据新的欧盟法律,每个食品包装标签都必须通过在成分列表中将其设置为粗体或下划线来概述可能引起过敏的成分。 目前我正在通过 ZPL 将标签打印到斑马打印机。我检查了 ZPL 手册 1 和 2,但没有找到
我是一名优秀的程序员,十分优秀!