java如何调节打印机行距_pos打印小票如何设置行间距

export class PosMachine {

constructor (ipAddr, port) {

if (plus.os.name == 'Android') {

var Socket = plus.android.importClass('java.net.Socket')

var PrintWriter = plus.android.importClass('java.io.PrintWriter')

var BufferedWriter = plus.android.importClass('java.io.BufferedWriter')

var OutputStreamWriter = plus.android.importClass('java.io.OutputStreamWriter')

var BufferedReader = plus.android.importClass('java.io.BufferedReader')

var InputStreamReader = plus.android.importClass('java.io.InputStreamReader')

var StrictMode = plus.android.importClass('android.os.StrictMode')

var Build = plus.android.importClass('android.os.Build')

if (Build.VERSION.SDK_INT > 9) {

var policy = new StrictMode.ThreadPolicy.Builder().permitAll().build()

StrictMode.setThreadPolicy(policy)

}

var socket = new Socket(ipAddr, port)

var outputStreamWriter = new OutputStreamWriter(socket.getOutputStream(), 'gbk')

var bufferWriter = new BufferedWriter(outputStreamWriter)

this.posMaWriter = new PrintWriter(bufferWriter, true)

}

}

setBold (flag) {

if (flag) {

this.posMaWriter.write(0x1B)

this.posMaWriter.write(69)

this.posMaWriter.write(0xF)

} else {

this.posMaWriter.write(0x1B)

this.posMaWriter.write(69)

this.posMaWriter.write(0)

}

}

/**

排版

@param position 0:居左(默认) 1:居中 2:居右

@return

@throws IOException

*/

setAlign (position) {

this.posMaWriter.write(0x1B)

this.posMaWriter.write(97)

this.posMaWriter.write(position)

}

/**

字体大小

@param size 1-8 选择字号

@return

@throws IOException

*/

setSize (size) {

this.posMaWriter.write(0x1D)

this.posMaWriter.write(33)

this.posMaWriter.write(size)

}

/**

进纸并全部切割

@return

@throws IOException

*/

feedAndCut () {

this.posMaWriter.write(0x1D)

this.posMaWriter.write(86)

this.posMaWriter.write(65)

this.posMaWriter.write(0)

this.posMaWriter.flush()

}

getPosHandle () {

return this.posMaWriter

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在传统的PC应用中,通过直接调用打印机驱动程序的方式可以轻松地实现对蓝牙打印机的调用。但是,在Web应用和移动应用中,这种方式并不适合,所以我们需要寻找一种新的解决方法。 其中一种解决方案是使用JavaScript库或框架,比如原生JavaScript、jQuery和React等。这些工具可以为我们提供跨平台或跨浏览器的API,使得我们可以屏蔽底层的硬件驱动细节,从而更容易地实现对蓝牙打印机的调用。 实现蓝牙打印机的调用需要遵循ESC / POS打印机语言规范。ESC / POS是一种通用的打印机语言,被各种打印机采用,包括热敏和针式打印机。这种语言通过控制位、字符和命令来描述打印机的行为,每个命令都会发送给打印机的控制寄存器。 要实现对蓝牙打印机的调用,首先需要链接蓝牙打印机,这可以通过调用浏览器的Web Bluetooth API来完成。一旦与打印机建立连接,我们就可以通过发送ESC / POS命令来控制打印机,从而实现小票和图片的打印。 对于小票打印,我们需要设计好小票模板并将其转换为ESC / POS命令。具体来说,需要先设置打印机的一些参数,比如字符大小和行距,然后将文本和表格等元素添加到模板中,最后将整个模板转换为ESC / POS命令并发送给打印机即可。 对于图片的打印,我们需要将图片转换为位图,并将其转换为ESC / POS命令。具体操作可以使用像CW浏览器的Canvas API在浏览器中渲染位图文件,然后将渲染后的位图文件转换为ESC / POS命令并发送给打印机即可。 总之,实现对蓝牙打印机的调用需要理解ESC / POS语言规范,并使用Web Bluetooth API和Canvas API等便利的工具来实现。虽然这种方法需要花费一些精力来学习和开发,但它可以轻松地在Web应用和移动应用中实现对蓝牙打印机的调用,具有很好的可移植性和开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值