直接操作打印机
来源:互联网 发布:淘宝手机端模板多少钱 编辑:程序博客网 时间:2024/05/06 01:07
QZZ = Chr(27) & Chr(74) '前进纸
HZZ = Chr(27) & Chr(106) '后进纸
DZT = Chr(28) & Chr(38) & _
Chr(27) & Chr(43) & Chr(100) & _
Chr(28) & Chr(87) & Chr(0) '大字体
XZT = Chr(28) & Chr(46) & _
Chr(27) & Chr(77) & _
Chr(27) & Chr(15) & _
Chr(27) & Chr(107) & Chr(0) '小字体
CR = Chr(13) & Chr(10)
Tstr = Chr(27) & Chr(64) & _ 'Tstr代表要打印的字符窜
Chr(27) & Chr(74) & Chr(23) & _
Chr(28) & Chr(38) & _
Chr(27) & Chr(43) & Chr(100) & _
Chr(28) & Chr(87) & Chr(0) & _
String(15, " ") & S1 & S2 & CR & _
Chr(27) & Chr(74) & Chr(5) & _
String(15, " ") & S3 & S4 & CR & _
Chr(27) & Chr(74) & Chr(7) & _
String(15, " ") & S5 & S6 & CR & _
CR & CR & CR & _
Chr(27) & Chr(106) & Chr(20)
Call Print_axis("Epson LQ-300K", Tstr)
'以下写在模块里
Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type
Dim CR As String
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndDocPrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function OpenPrinter Lib "winspool.drv" Alias _
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
Private Declare Function StartDocPrinter Lib "winspool.drv" Alias _
"StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, _
pDocInfo As DOCINFO) As Long
Private Declare Function StartPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function WritePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _
pcWritten As Long) As Long
Public Sub Print_axis(P1 As String, str As String)
Dim lhPrinter As Long
Dim lReturn As Long
Dim lpcWritten As Long
Dim lDoc As Long
Dim sWrittenData As String
Dim MyDocInfo As DOCINFO
CR = Chr(13) & Chr(10)
lReturn = OpenPrinter(P1, lhPrinter, 0)
If lReturn = 0 Then
MsgBox "未正确安装打印机!"
Exit Sub
End If
MyDocInfo.pDocName = "标签"
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = vbNullString
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)
sWrittenData = str
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, _
Len(sWrittenData), lpcWritten)
lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub
'具体如何控制打印行间据、字间距、字体大小、定位等等,可以参照epson ESC/P指令集Top
1.MyDocInfo是什么对像:
是自定义类型
Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type
lReturn = OpenPrinter(P1, lhPrinter, 0)
Dim MyDocInfo As DOCINFO
2.Public Sub Print_axis(P1 As String, str As String),这里P1指的是打印机名还是打印机的型号
lReturn = OpenPrinter(P1, lhPrinter, 0)
Private Declare Function OpenPrinter Lib "winspool.drv" Alias _
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
pPrinterName String,要打开的打印机的名字
phPrinter Long,用于装载打印机的句柄
pDefault PRINTER_DEFAULTS,这个结构保存要载入的打印机信息
说简单点打印机的句柄就是调用打印机时系统分配的一个指向该打印机的一个数值
跟窗体句柄的含义差不多的方法,直接对打印机操作
Open "PRN" For Output As #1
Print #1, Chr(&HE)
Print #1, "123"
Print #1, Chr(&H14)
Print #1, "456"
Close #1Top
- 直接操作打印机
- VB如何使用API直接操作打印机
- C#控制打印机(直接发送打印机命令到打印机)
- Java直接控制打印机打印
- Java直接控制打印机打印
- Java直接控制打印机打印
- 蓝牙打印机操作
- 打印机的操作
- POS58打印机的操作
- C#打印机操作类
- 配置打印机操作步骤
- VB.Net 操作打印机
- c++ 打印机删除操作
- 直接把结果输出到打印机
- 直接写并口控制小票打印机
- 直接把结果输出到打印机
- 直接把结果输出到打印机
- 直接把结果输出到打印机
- Hibernate中的两种数据库连接方式
- 广州地铁站点图
- 这个周末没学习
- Java从入门到精通之工具篇(转)
- 日历控件(Calendar)
- 直接操作打印机
- 想到文本在写库
- 精华文章地址链接~
- 线程进入阻塞时,线程会不会让出CPU?
- 在.Net里如何读取数据库图片
- Together2006初探2
- 苹果乔布斯宣称iPhone应用可向第三方开放
- collections for OSDev
- primitive数据何时被默认初始化