Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ESC POS蓝牙打印机清除缓冲区_Javascript_Java_Thermal Printer_Escpos - Fatal编程技术网

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

Javascript ESC POS蓝牙打印机清除缓冲区,javascript,java,thermal-printer,escpos,Javascript,Java,Thermal Printer,Escpos,我正在使用React Native构建一个打印票证的应用程序。我已经成功地使用浙江公司的蓝牙打印机5802和5802-LD进行了打印。 有一个问题,我不知道具体的来源,但是当Java方法不等待打印机实际打印,而只是编写命令指令时,我遇到了一个问题,我最终一次发送所有打印命令。 有时这会导致打印机缺纸,我希望清除缓冲区,而不是继续打印 在这里,您可以找到编程手册,在76mm打印机的第20页末尾,有一个命令ESC@应该清除缓冲区并初始化打印机(再次),但它没有(我的打印机是58mm,但也参考了ESC

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

在这里,您可以找到编程手册,在76mm打印机的第20页末尾,有一个命令ESC@应该清除缓冲区并初始化打印机(再次),但它没有(我的打印机是58mm,但也参考了ESC@命令)。该命令手册有以下说明:

在他们的网站上还有几个android APK可以在android Studio上构建: 我在他们的示例中发现了相同的命令:


当我需要实际初始化打印时,它似乎可以工作,但之后它就不能像手册中的描述那样工作了。有没有人有过使用蓝牙ESC/POS打印机的想法或经验,知道我应该如何操作?

你已经很久没有发帖了,但这可能会帮助一些苦苦挣扎的人

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

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

我在一次发送所有数据时遇到问题。打印机在同一点停止。我拆开变量,计算它们的字节大小,看看是否有什么错误,但什么都没有出现

我试图将我的最终变量数据分解成更小的变量,并用
ESC@
初始化,但这也不起作用

在互联网上搜索时,一些“大师”说,你可以
ESC@
使用一整套
4kbytes
。我还尝试用高达4kb的空字符填充剩余数组的其余部分,并尝试初始化,但也不初始化

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

我在我的小鱼身上做了一个seTimout循环

setTimeout(() => {
    this.btSerial.write(uint8Array)
      .then(dataz => {
        console.log("WRITE SUCCESS", dataz);
      });
  }, 100 + n *100)
当然,它起了作用

我认为问题在于,android可以每隔几毫秒通过蓝牙发送一次本地字节,但我不确定

希望我能帮点忙

附言


不要试图开发在跨平台框架中使用本机功能的移动应用程序。你最终将总是试图学习和编写程序包,以便与本地人进行通信。

你发帖已经很长时间了,但这可能有助于那些苦苦挣扎的人

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

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

我在一次发送所有数据时遇到问题。打印机在同一点停止。我拆开变量,计算它们的字节大小,看看是否有什么错误,但什么都没有出现

我试图将我的最终变量数据分解成更小的变量,并用
ESC@
初始化,但这也不起作用

在互联网上搜索时,一些“大师”说,你可以
ESC@
使用一整套
4kbytes
。我还尝试用高达4kb的空字符填充剩余数组的其余部分,并尝试初始化,但也不初始化

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

我在我的小鱼身上做了一个seTimout循环

setTimeout(() => {
    this.btSerial.write(uint8Array)
      .then(dataz => {
        console.log("WRITE SUCCESS", dataz);
      });
  }, 100 + n *100)
当然,它起了作用

我认为问题在于,android可以每隔几毫秒通过蓝牙发送一次本地字节,但我不确定

希望我能帮点忙

附言


不要试图开发在跨平台框架中使用本机功能的移动应用程序。您将总是试图学习和编写程序包以进行本机通信。

在setTimeout函数中使用的变量“n”是什么?在setTimeout函数中使用的变量“n”是什么?