YSNsins系列是什么意思思

CaysnPrinter开发包接口说明文档_windows系统-织梦者
当前位置:&>&&>& > CaysnPrinter开发包接口说明文档
CaysnPrinter开发包接口说明文档
CaysnPrinter开发包及接口说明文档下载地址:
http://download.csdn.net/download/caysnprinter/9536461
打印机接口说明
二 函数说明 4
Port Function 4
Port_OpenCom 4
Port_OpenTcp 6
Port_OpenUsb 7
Port_OpenLpt 8
Port_OpenPrn 9
Port_CloseCom 10
Port_CloseTcp 11
Port_CloseUsb 12
Port_CloseLpt 13
Port_ClosePrn 14
Port_SetPort 15
Port_EnumCom 16
Port_EnumLpt 17
Port_EnumUsb 18
Port_EnumPrn 19
Page Function 20
PAGE_PageEnter 20
PAGE_PagePrint 21
PAGE_PageExit 22
PAGE_SetPrintArea 23
PAGE_DrawString 25
PAGE_DrawRect 27
PAGE_DrawBarcode 28
PAGE_DrawQRCode 30
PAGE_DrawBitmap 31
Pos Function 32
POS_TextOut 32
POS_SetBarcode 34
POS_SetQRCode 36
POS_PrintPicture 37
POS_SelfTest 38
POS_Query 39
POS_RTQuery 40
POS_TicketSucceed 42
POS_FeedLine 43
POS_FeedNLine 44
POS_FeedNDot 45
POS_SetMotionUnit 46
POS_SetLineHeight 47
POS_SetRightSpacing 48
POS_SetAlign 49
POS_Reset 51
POS_KickOutDrawer 52
POS_CutPaper 53
POS_FeedAndCut 54
POS_Beep 55
1 PrinterLibs是在Windows平台用C++编写的DLL,DLL导出C风格的函数。
2 PrinterLibs函数有以下几类
A Port_XXX
以Port开头的函数,主要是打开端口,关闭端口,枚举端口。
支持通过串口,并口,USB口,网口进行打印。
备注:Port_SetPort:该函数可以指定POS_XXX系列函数所使用的通讯端口。
B PAGE_XXX
以PAGE开头的函数,封装了页模式指令,可以控制打印机以页模式的方式
① PAGE_PageEnter进入页模式
② PAGE_SetPrintArea设置页模式打印区域
③ PAGE_DrawXXX系列函数在指定区域打印
④ PAGE_PagePrint打印整个页面
⑤ PAGE_PageExit退出页模式
②③可以重复调用
仅支持页模式的机型可以使用这些函数
以POS开头的函数,主要是封装了ESC/POS指令,可以控制打印机打印。
① 进纸系列函数可以控制打印机进纸
② 设置系列函数可以设置打印的格式等
③ 打印系列函数可以打印文本,条码,QR码,图片等
④ 查询系列函数可以查询打印机状态
⑤ 其他函数可以控制钱箱、切刀、蜂鸣器等
二 函数说明
Port Function
Port_OpenCom
BOOL Port_OpenCom(TCHAR * pName, DWORD dwBaudrate, DWORD dwParity)
Parameters
端口名称。
例如:COM1,COM2,COM3...COM11...
dwBaudrate
一般取,,115200.
需要和打印机波特率保持一致,建议使用高波特率以获得较好的打印速度
取值如下:
#define PARITY_NONE ((WORD)0x0100)
#define PARITY_ODD ((WORD)0x0200)
#define PARITY_EVEN ((WORD)0x0400)
#define PARITY_MARK ((WORD)0x0800)
#define PARITY_SPACE ((WORD)0x1000)
Return value
如果打开成功,返回TRUE。否则,返回FALSE
如果串口被占用,打开串口会失败。
如果波特率和打印机波特率不匹配,则无法打印。
Port_OpenTcp
BOOL Port_OpenTcp(TCHAR * szIp, USHORT nPort)
Parameters
例如:192.168.1.87
固定值:9100
Return value
如果打开成功,返回TRUE。否则,返回FALSE
PC和打印机需要同网段的才可以连接
Port_OpenUsb
BOOL Port_OpenUsb(TCHAR * pName)
Parameters
端口名称。
可以通过Port_EnumUSB来得到打印机的名称。
也可以使用任意其他字符串,这时候,如果找到Caysn的USB打印机,会直接打开
Return value
如果打开成功,返回TRUE。否则,返回FALSE
Caysn的USB打印机接到电脑上,如果设备管理器中出现了USB Printing Support,则可以使用该函数打开。
如果出现的是 Prolific USB-to-Serial Comm Port,则说明这是USB虚拟串口,需要使用Port_OpenCom。
Port_OpenLpt
BOOL Port_OpenLpt(TCHAR * pName)
Parameters
端口名称。
例如:LPT1,LPT2,LPT3...
Return value
如果打开成功,返回TRUE。否则,返回FALSE
并口只有单向通讯,只可写不可读。
一切查询状态的函数,对并口来说均是无效的。
Port_OpenPrn
BOOL Port_OpenPrn(TCHAR * pName)
Parameters
打印机名称。
例如:KP80 Printer
Return value
如果打开成功,返回TRUE。否则,返回FALSE
打开打印机端口。必须使用Caysn打印机驱动才可以。
Port_CloseCom
VOID Port_CloseCom()
Parameters
Return value
Port_CloseTcp
VOID Port_CloseTcp()
Parameters
Return value
Port_CloseUsb
VOID Port_CloseUsb()
Parameters
Return value
Port_CloseLpt
VOID Port_CloseLpt()
Parameters
Return value
Port_ClosePrn
VOID Port_ClosePrn()
Parameters
Return value
Port_SetPort
VOID Port_SetPort(DWORD dwPortType)
Parameters
dwPortType
端口类型。
#define KCPORTYPE_COM 0x1
#define KCPORTYPE_ETH 0x2
#define KCPORTYPE_USB 0x4
#define KCPORTYPE_LPT 0x8
#define KCPORTYPE_PRN 0x10
Return value
需要设置端口类型,POS_XXX系列函数才能正常使用。
Port_EnumCom
VOID Port_EnumCom(TCHAR * pBuf, int cbBuf, int * pcbNeeded, int * pcnReturned)
Parameters
枚举到的端口列表。
pBuf缓冲区字节数
需要的缓冲区长度
pcnReturned
返回的端口数目
Return value
使用范例代码如下:C++
int cbNeeded = 0;
int cnReturned = 0;
Port_EnumCom(NULL, 0, &cbNeeded, &cnReturned);
if (cbNeeded)
TCHAR * pBuf = (TCHAR *)malloc(cbNeeded);
Port_EnumCom(pBuf, cbNeeded, &cbNeeded, &cnReturned);
TCHAR * pDevice = pB
for (int i = 0; i & cnR ++i)
ComboBox_AddString(hCbx, pDevice);
pDevice += lstrlen(pDevice) + 1;
free(pBuf);
Port_EnumLpt
VOID Port_EnumLpt(TCHAR * pBuf, int cbBuf, int * pcbNeeded, int * pcnReturned)
Parameters
枚举到的端口列表。
pBuf缓冲区字节数
需要的缓冲区长度
pcnReturned
返回的端口数目
Return value
使用范例代码如下:C++
int cbNeeded = 0;
int cnReturned = 0;
Port_EnumLpt(NULL, 0, &cbNeeded, &cnReturned);
if (cbNeeded)
TCHAR * pBuf = (TCHAR *)malloc(cbNeeded);
Port_EnumLpt(pBuf, cbNeeded, &cbNeeded, &cnReturned);
TCHAR * pDevice = pB
for (int i = 0; i & cnR ++i)
ComboBox_AddString(hCbx, pDevice);
pDevice += lstrlen(pDevice) + 1;
free(pBuf);
Port_EnumUsb
枚举USB端口
VOID Port_EnumUsb(TCHAR * pBuf, int cbBuf, int * pcbNeeded, int * pcnReturned)
Parameters
枚举到的端口列表。
pBuf缓冲区字节数
需要的缓冲区长度
pcnReturned
返回的端口数目
Return value
使用范例代码如下:C++
int cbNeeded = 0;
int cnReturned = 0;
Port_EnumUsb(NULL, 0, &cbNeeded, &cnReturned);
if (cbNeeded)
TCHAR * pBuf = (TCHAR *)malloc(cbNeeded);
Port_EnumUsb(pBuf, cbNeeded, &cbNeeded, &cnReturned);
TCHAR * pDevice = pB
for (int i = 0; i & cnR ++i)
ComboBox_AddString(hCbx, pDevice);
pDevice += lstrlen(pDevice) + 1;
free(pBuf);
Port_EnumPrn
枚举打印机列表
VOID Port_EnumPrn(TCHAR * pBuf, int cbBuf, int * pcbNeeded, int * pcnReturned)
Parameters
枚举到的端口列表。
pBuf缓冲区字节数
需要的缓冲区长度
pcnReturned
返回的端口数目
Return value
使用范例代码如下:C++
int cbNeeded = 0;
int cnReturned = 0;
Port_EnumPrn(NULL, 0, &cbNeeded, &cnReturned);
if (cbNeeded)
TCHAR * pBuf = (TCHAR *)malloc(cbNeeded);
Port_EnumPrn(pBuf, cbNeeded, &cbNeeded, &cnReturned);
TCHAR * pDevice = pB
for (int i = 0; i & cnR ++i)
ComboBox_AddString(hCbx, pDevice);
pDevice += lstrlen(pDevice) + 1;
free(pBuf);
Page Function
PAGE_PageEnter
选择页模式
BOOL PAGE_PageEnter()
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
PAGE_PagePrint
页模式下打印页面内容
BOOL PAGE_PagePrint()
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
PAGE_PageExit
退出页模式
BOOL PAGE_PageExit()
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
PAGE_SetPrintArea
页模式下设置打印区域
BOOL PAGE_SetPrintArea(int left, int top, int right, int bottom, int direction)
Parameters
打印区域左上角x坐标
打印区域左上角y坐标
打印区域右下角x坐标
打印区域右下角y坐标
打印区域方向
左上角(图中的A)
左下角(图中的B)
右下角(图中的C)
右上角(图中的D)
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
下图展示了打印区域的概念
PAGE_DrawString
BOOL PAGE_DrawString(TCHAR * pszString, int x, int y, int nWidthScale, int nHeightScale, int nFontType, int nFontStyle)
Parameters
要打印的内容。UNICODE编码字符串。
指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)
支持左对齐,居中,右对齐
传入x见下表
指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)
nWidthScale
指定宽度放大倍数 [0,7]
nHeightScale
指定高度放大倍数 [0,7]
0 标准字体
1 压缩字体
nFontStyle
指定字体风格,可以为下表中的一个或者若干个(相加即可)
1点粗的下划线
2点粗的下划线
倒置(只在行首有效)
反显(黑底白字)
每个字符顺时针旋转 90 度
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
页模式Draw函数并不立刻打印,只是填在页面中,直到调用了PAGE_PagePrint,才开始打印。
PAGE_DrawRect
BOOL PAGE_DrawRect(int x, int y, int nWidth, int nHeight, int nColor)
Parameters
指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)
指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)
指定矩形宽度
指定矩形高度
指定矩形颜色
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
如果想画线,只需要把宽度设置为1(若想画粗一点的线,可设置大一点)即可。
注意:不要画太大区域矩形,否则电源撑不住打印机会复位。
PAGE_DrawBarcode
BOOL PAGE_DrawBarcode(TCHAR * pszBarcodeContent, int x, int y, int nBarcodeUnitWidth, int nBarcodeHeight, int nHriFontType, int nHriFontPosition, int nBarcodeType)
Parameters
pszBarcodeContent
指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)
支持左对齐,居中,右对齐
传入x见下表
指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)
nBarcodeUnitWidth
指定条码的基本元素宽度。
可以为以下列表中所列值(n)之一。
单基本模块宽度
(连续型)
双基本模块宽度(离散型)
窄元素宽度
宽元素宽度
nBarcodeHeight
nHriFontType
指定 HRI(Human Readable Interpretation)字符的字体类型。
可以为以下列表中所列值之一。
nHriFontPosition
指定HRI(Human Readable Interpretation)字符的位置。
可以为以下列表中所列值之一。
只在条码上方打印
只在条码下方打印
条码上、下方都打印
nBarcodeType
可以为以下列表中所列值之一。
JAN13(EAN13)
JAN8(EAN8)
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
PAGE_DrawQRCode
BOOL PAGE_DrawQRCode(TCHAR * pszContent, int x, int y, int nQRCodeUnitWidth, int nVersion, int nEcLevel)
Parameters
pszContent
二维码文本
指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)
支持左对齐,居中,右对齐
传入x见下表
指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)
nQRCodeUnitWidth
QR码单元宽度,范围[1,16]。
QR码单元宽度越大,QR码越大。
QR码版本。0表示自动计算版本。
QR码版本越大,能编码的字符就越多,QR码也越大。
QR码纠错等级。[1,4]
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
PAGE_DrawBitmap
BOOL PAGE_DrawBitmap(TCHAR * FileName, int x, int y, int dwWidth, int dwHeight)
Parameters
位图文件路径
指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)
支持左对齐,居中,右对齐
传入x见下表
指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)
要打印的宽度
要打印的高度
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
Pos Function
POS_TextOut
BOOL POS_TextOut(TCHAR * pszString, int x, int nWidthScale, int nHeightScale, int nFontType, int nFontStyle)
Parameters
要打印的内容。UNICODE编码字符串。
指定水平方向的起始点位置离左边界的点数。
nWidthScale
指定宽度放大倍数 [0,7]
nHeightScale
指定高度放大倍数 [0,7]
0 标准字体
1 压缩字体
nFontStyle
指定字体风格,可以为下表中的一个或者若干个(相加即可)
1点粗的下划线
2点粗的下划线
倒置(只在行首有效)
反显(黑底白字)
每个字符顺时针旋转 90 度
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_TextOut并不立刻打印,需要调用POS_FeedXXX系列函数,才会把行缓冲区中的内容打印出来。
POS_SetBarcode
BOOL POS_SetBarcode(TCHAR * pszBarcodeContent, int nBarcodeUnitWidth, int nBarcodeHeight, int nHriFontType, int nHriFontPosition, int nBarcodeType)
Parameters
pszBarcodeContent
nBarcodeUnitWidth
指定条码的基本元素宽度。
可以为以下列表中所列值(n)之一。
单基本模块宽度
(连续型)
双基本模块宽度(离散型)
窄元素宽度
宽元素宽度
nBarcodeHeight
nHriFontType
指定 HRI(Human Readable Interpretation)字符的字体类型。
可以为以下列表中所列值之一。
nHriFontPosition
指定HRI(Human Readable Interpretation)字符的位置。
可以为以下列表中所列值之一。
只在条码上方打印
只在条码下方打印
条码上、下方都打印
nBarcodeType
可以为以下列表中所列值之一。
JAN13(EAN13)
JAN8(EAN8)
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_SetQRCode
打印二维码(QR码)
BOOL POS_SetQRCode(TCHAR * pszContent, int nQRCodeUnitWidth, int nVersion, int nEcLevel)
Parameters
pszContent
二维码文本
nQRCodeUnitWidth
QR码单元宽度,范围[1,16]。
QR码单元宽度越大,QR码越大。
QR码版本。0表示自动计算版本。
QR码版本越大,能编码的字符就越多,QR码也越大。
QR码纠错等级。[1,4]
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_PrintPicture
打印BMP位图
BOOL POS_PrintPicture(TCHAR * FileName, DWORD dwWidth, DWORD dwHeight)
Parameters
位图文件完整路径
要打印的宽度
要打印的高度
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_SelfTest
打印自检页
BOOL POS_SelfTest()
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
查询打印机状态
BOOL POS_Query(unsigned char status[1])
Parameters
打印机状态
该值目前无意义
Return value
如果状态查询成功,返回TRUE。否则,返回FALSE
该命令返回TRUE表明打印机处于可打印状态。
POS_RTQuery
实时查询打印机状态
BOOL POS_RTQuery(unsigned char status[4])
Parameters
打印机状态
各字节含义见下表:
1:打印机状态
十六进制码
一个或两个钱箱打开
(没有钱箱的机器该位固定为零)
两个钱箱都关闭
2:传送脱机状态
十六进制码
未按走纸键
按下走纸键
打印机不缺纸
打印机缺纸
没有出错情况
有错误情况
3:传送错误状态
十六进制码
切刀无错误
切刀有错误
无不可恢复错误
有不可恢复错误
打印头温度和电压正常
打印头温度或电压超出范围
4:传送纸传感器状态
十六进制码
Return value
如果状态查询成功,返回TRUE。否则,返回FALSE
任何时候打印机收到该命令都会立刻返回。
POS_TicketSucceed
单据打印结果查询
BOOL POS_TicketSucceed(int dwSendIndex)
Parameters
dwSendIndex
可以从1开始依次递增,目前并无实际意义
Return value
单据打印完成,并且没有因为缺纸而中断,则返回TRUE。
否则,没有查到状态,或返回因为缺纸或其他错误导致打印中断,则返回FALSE。
为了保证单据打印的可靠性,请每批次打印任务完成之后,调用一次该函数确认单据打印结果。
POS_FeedLine
BOOL POS_FeedLine()
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
打印机进纸一行
POS_FeedNLine
BOOL POS_FeedNLine(int nLine)
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
进纸nLine行
POS_FeedNDot
BOOL POS_FeedNDot(int nDot)
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
进纸nDot点。一般情况下,1mm有8个点。
POS_SetMotionUnit
设置水平和垂直移动单位
BOOL POS_SetMotionUnit(int nHorizontal, int nVertical)
Parameters
nHorizontal
水平移动单位
垂直移动单位
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
当nHorizontal和nVertical都设置为200时,1点就是0.125mm。
POS_SetLineHeight
BOOL POS_SetLineHeight(int nDistance)
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_SetRightSpacing
设置字符右边空白
BOOL POS_SetRightSpacing(int nDistance)
Parameters
字符右边空白
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_SetAlign
设置对齐方式
BOOL POS_SetAlign(int nAlign)
Parameters
1 居中对齐
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
复位打印机。会清空设置。
BOOL POS_Reset()
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_KickOutDrawer
BOOL POS_KickOutDrawer(int nID, int nOnTimes, int nOffTimes);
Parameters
0 钱箱引脚2
1 钱箱引脚5
钱箱脉冲高电位ms时间
钱箱脉冲低电位ms时间
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_CutPaper
BOOL POS_CutPaper(int nMode)
Parameters
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
POS_FeedAndCut
打印机进纸[打印位置到切刀之间距离 + nDistance ×(纵向移动单位)]然后切纸
BOOL POS_FeedAndCut(int nDistance)
Parameters
额外进纸距离
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
蜂鸣器鸣叫
BOOL POS_Beep(int nBeepCount, int nBeepMillis)
Parameters
nBeepCount
nBeepMillis
蜂鸣时间:100ms为单位
Return value
如果指令写入成功,返回TRUE。否则,返回FALSE
以上就是CaysnPrinter开发包接口说明文档的全文介绍,希望对您学习Windows的使用有所帮助.
这些内容可能对你也有帮助
更多可查看windows系统列表页。
猜您也会喜欢这些文章

我要回帖

更多关于 sw系列是什么意思 的文章

 

随机推荐