gpt4 book ai didi

javascript - ESC POS 蓝牙打印机清除缓冲区

转载 作者:行者123 更新时间:2023-11-28 17:19:26 29 4
gpt4 key购买 nike

我正在使用 React Native 构建一个打印票证的应用程序。我已经成功使用浙江公司的蓝牙打印机5802和5802-LD进行打印。有一个问题,我不知道确切的来源,但是当Java方法不等待打印机实际打印而是只编写命令指令时,这导致我最终一次发送所有打印命令的问题。有时这会导致打印机缺纸,我想清除缓冲区而不是继续打印。

在这里你可以找到编程手册,在76mm的第20页末尾有命令ESC @,它应该清除缓冲区并初始化打印机(再次),但它没有(我的打印机是58mm,但也引用ESC @命令)。命令手册有以下说明: http://www.zjiang.com/en/init.php/service/manual enter image description here

enter image description here

他们的网站上还有几个可以在 Android Studio 上构建的 Android APK: http://www.zjiang.com/en/init.php/service/driver enter image description here 我在他们的示例中发现了相同的命令: enter image description here

当我需要实际初始化打印时,它似乎可以工作,但之后它就不像手册的描述那样工作了。有人对这些蓝牙 ESC/POS 打印机有想法或经验吗?我应该如何进行?

最佳答案

距离您发帖已有很长时间了,但这可能会帮助那些陷入困境的人。

我使用 ionic 3 框架开发了一个小型移动应用程序。我的主要问题之一是打印服务。

最后用户需要打印收据。我所做的是创建一个 uint8Array() 并合并其中的所有小数数据。我也尝试过使用缓冲区。

我在一次发送所有数据时遇到了问题。打印机在同一点停止。我分解了变量并计算了它们的字节大小以查看是否有问题,但没有任何结果。

我尝试将最终变量数据分解为较小的变量并使用 ESC @ 进行初始化,但这也不起作用。

在互联网上搜索一些“大师”说你可以使用 4kbytes 的完整包ESC @。我还尝试用最多 4kb 的空字符填充剩余数组的其余部分,并尝试初始化,但什么也没有。

最后我做了一个非常“猴子”的解决方案,我为此感到羞耻。

我通过较小的 uintarrays 创建了一个 seTimout 循环

setTimeout(() => {
this.btSerial.write(uint8Array)
.then(dataz => {
console.log("WRITE SUCCESS", dataz);
});
}, 100 + n *100)

当然它有效了。

我认为问题是,android 可以每隔几毫秒用蓝牙本地发送字节,但我不确定。

希望我能帮上一点忙。

附注..

不要尝试开发在跨平台框架中使用 native 内容的移动应用程序。您最终将始终尝试学习和编写程序包以进行 native 通信..

关于javascript - ESC POS 蓝牙打印机清除缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52704083/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com