因公司撕票式业务发展,需要改造撕票式保单打印程序
编程语言:选择VB
打印机型号:EPSON,实达
串口访问:通过VB的MSComm控件
一,EPSON打印机,指令打印方式:
'控件初始化
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1" '设置波特率等参数
MSComm1.Handshaking = comRTSXOnXOff '设置串口流控comRTSXOnXOff
MSComm1.OutBufferSize = 800 '设置输出缓冲
'''''''''''''''''''''''''''''''''''''''''''''''''''''
'由于win2k/xp中若有打印机占用串口,则无法打开串口控件
'所以在使用控件前,将这些打印机占用的串口改变为FILE:
'更改端口使用win32API的changeport函数
'记住:在关闭串口控件后,应将这些打印机端口改回来。
'''''''''''''''''''''''''''''''''''''''''''''''''''''
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '打开串口
End If
'送打印机打印内容
MSComm1.Output = vbCrLf
MSComm1.Output = "需要打印的内容" & vbCrLf
'送打印机查找黑标命令FS ( L
ReDim FindBlackMark(0 To 6) As Byte
FindBlackMark(0) = &H1C
FindBlackMark(1) = &H28
FindBlackMark(2) = &H4C
FindBlackMark(3) = &H2
FindBlackMark(4) = &H0
FindBlackMark(5) = &H42
FindBlackMark(6) = &H31
MSComm1.Output = FindBlackMark '送打印机查找黑标命令
'送打印机切纸命令 GS V 1
ReDim CutPaper(0 To 2) As Byte
CutPaper(0) = &H1D
CutPaper(1) = &H56
CutPaper(2) = &H0
MSComm1.Output = CutPaper '送打印机切纸命令
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False '关闭串口
End If
二,实达打印机,指令打印方式:
'控件初始化
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1" '设置波特率等参数
MSComm1.Handshaking = comXOnXoff '设置串口流控comXOnXoff
MSComm1.OutBufferSize = 800 '设置输出缓冲
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True '打开串口
End If
'送打印机打印内容
MSComm1.Output = vbCrLf
MSComm1.Output = "需要打印的内容" & vbCrLf
'送打印机查找黑标命令1D 0C
ReDim FindBlackMark(0 To 1) As Byte
FindBlackMark(0) = &H1D
FindBlackMark(1) = &HC
MSComm1.Output = FindBlackMark '送打印机查找黑标命令
'送打印机切纸命令 1D 56 01
ReDim CutPaper(0 To 2) As Byte
CutPaper(0) = &H1D
CutPaper(1) = &H56
CutPaper(2) = &H1
MSComm1.Output = CutPaper '送打印机切纸命令
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False '关闭串口
End If
阅读(832) | 评论(0) | 转发(0) |