CaysnPrinter - Windows平台开发包打印示例程序及接口说明文档 - 20170531

CaysnPrinter打印示例程序:CaysnPrinter打印机开发包示例程序_20170531

CaysnPrinter打印示例程序C#版:CaysnPrinter打印机开发包示例程序_SampleCSharp_20170605

CaysnPrinter打印开发包接口说明文档中文版:PrinterLibs_For_Windows_zh_CN_20170531

CaysnPrinter打印开发包接口说明文档英文版:PrinterLibs_For_Windows_en_US_20170531


概述

 

1       PrinterLibs是在Windows平台用C++编写的DLL,DLL导出C风格的函数。

 

2       PrinterLibs函数有以下几类

A       Port_XXX

以Port开头的函数,主要是打开端口,关闭端口,枚举端口。

支持通过串口,并口,USB口,网口进行打印。

 

备注:与上一版有差别

1 Port_SetPort函数已删除。

2 Port_Open系列函数返回值为bool,不再是BOOL。

 

B       PAGE_XXX

以PAGE开头的函数,封装了页模式指令,可以控制打印机以页模式的方式

打印。

① PAGE_PageEnter进入页模式

② PAGE_SetPrintArea设置页模式打印区域

③ PAGE_DrawXXX系列函数在指定区域打印

④ PAGE_PagePrint打印整个页面

⑤ PAGE_PageExit退出页模式

备注:

②③可以重复调用

仅支持页模式的机型可以使用这些函数

 

C       POS_XXX

以POS开头的函数,主要是封装了ESC/POS指令,可以控制打印机打印。

①进纸系列函数可以控制打印机进纸

②设置系列函数可以设置打印的格式等

③打印系列函数可以打印文本,条码,QR码,图片等

④查询系列函数可以查询打印机状态

⑤其他函数可以控制钱箱、切刀、蜂鸣器等

 

D      LABEL_XXX

以LABEL开头的函数,主要封装了标签指令,可以控制标签打印机打印。

① LABEL_PageBegin 初始化一个标签页

② LABEL_DrawXXX 在标签页上画内容

③ LABEL_PageEnd 结束标签页

④ LABEL_PagePrint 打印标签页

 

 

 

 

 

 


 

 

函数说明

 

Port Function

 

Port_OpenCom

 

 

 

Syntax

bool Port_OpenCom(char * pName, intdwBaudrate, int dwParity)

 

Parameters

pName

端口名称。

例如:COM1,COM2,COM3...COM11...

 

dwBaudrate

波特率

一般取9600,19200,38400,57600,115200.

需要和打印机波特率保持一致,建议使用高波特率以获得较好的打印速度

 

dwParity

效验位

/*0-4=None,Odd,Even,Mark,Space    */

 

Return value

如果打开成功,返回true。否则,返回false

 

Remarks

如果串口被占用,打开串口会失败。

如果波特率和打印机波特率不匹配,则无法打印。

 


 

Port_OpenTcp

 

 

 

Syntax

bool Port_OpenTcp(char * szIp, unsignedshort nPort)

 

Parameters

szIp

IP地址

例如:192.168.1.87

 

nPort

端口号

固定值:9100

 

Return value

如果打开成功,返回true。否则,返回false

 

Remarks

PC和打印机需要同网段的才可以连接

 

 


 

Port_OpenUsb

 

 

Syntax

bool Port_OpenUsb(char * pName)

 

Parameters

pName

端口名称。

可以通过Port_EnumUSB来得到打印机的名称。

也可以使用任意其他字符串,这时候,如果找到USB打印机,会直接打开

 

Return value

如果打开成功,返回true。否则,返回false

 

Remarks

USB打印机接到电脑上,如果设备管理器中出现了USB Printing Support,则可以使用该函数打开。

如果出现的是 Prolific USB-to-SerialComm Port,则说明这是USB虚拟串口,需要使用Port_OpenCom。

 


 

Port_OpenLpt

 

 

Syntax

bool Port_OpenLpt(char * pName)

 

Parameters

pName

端口名称。

例如:LPT1,LPT2,LPT3...

 

Return value

如果打开成功,返回true。否则,返回false

 

Remarks

并口只有单向通讯,只可写不可读。

一切查询状态的函数,对并口来说均是无效的。

 

 


 

Port_Close

 

 

 

Syntax

VOID Port_Close()

 

Parameters

 

 

Return value

 

 

Remarks

关闭端口

 

 


 

Port_EnumCom

枚举串口

 

Syntax

void Port_EnumCom(char * pBuf, int cbBuf,int * pcbNeeded, int * pcnReturned)

 

Parameters

pBuf

枚举到的端口列表。

 

cbBuf

pBuf缓冲区字节数

 

pcbNeeded

需要的缓冲区长度

 

pcnReturned

返回的端口数目

 

Return value

 

Remarks

使用范例代码如下:C++

VOID EnumComToComboBox(HWND hCbx)

{

         intcbNeeded = 0;

         intcnReturned = 0;

         Port_EnumCom(NULL,0, &cbNeeded, &cnReturned);

         if(cbNeeded)

         {

                  CHAR * pBuf = (CHAR *)malloc(cbNeeded);

                  if (pBuf)

                  {

                           Port_EnumCom(pBuf,cbNeeded, &cbNeeded, &cnReturned);

                           CHAR* pDevice = pBuf;

                           for(int i = 0; i < cnReturned; ++i)

                           {

                                    //ComboBox_AddString(hCbx, pDevice);

                                    SendMessageA(hCbx, CB_ADDSTRING, 0,(LPARAM)pDevice);                                                           pDevice+= strlen(pDevice) + 1;

                           }

                           free(pBuf);

                  }

         }

}


 

Port_EnumLpt

枚举并口

 

void Port_EnumLpt(char * pBuf, int cbBuf,int * pcbNeeded, int * pcnReturned)

 

Parameters

pBuf

枚举到的端口列表。

 

cbBuf

pBuf缓冲区字节数

 

pcbNeeded

需要的缓冲区长度

 

pcnReturned

返回的端口数目

 

Return value

 

Remarks

使用范例代码同Port_EnumCom


 

Port_EnumUsb

枚举USB端口

 

void Port_EnumUSB(char * pBuf, int cbBuf,int * pcbNeeded, int * pcnReturned)

 

Parameters

pBuf

枚举到的端口列表。

 

cbBuf

pBuf缓冲区字节数

 

pcbNeeded

需要的缓冲区长度

 

pcnReturned

返回的端口数目

 

Return value

 

Remarks

使用范例代码同Port_EnumCom

 


 

Page Function

 

 

PAGE_PageEnter

选择页模式

 

Syntax

bool PAGE_PageEnter()

 

Parameters

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 

 


 

PAGE_PagePrint

页模式下打印页面内容

 

Syntax

bool PAGE_PagePrint()

 

Parameters

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 

 

 

 


 

PAGE_PageExit

退出页模式

 

Syntax

bool PAGE_PageExit()

 

Parameters

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 

 

 


 

PAGE_SetPrintArea

 

页模式下设置打印区域

 

Syntax

bool PAGE_SetPrintArea(int left, int top,int right, int bottom, int direction)

 

Parameters

 

left

打印区域左上角x坐标

 

top

打印区域左上角y坐标

 

right

打印区域右下角x坐标

 

bottom

打印区域右下角y坐标

 

direction

打印区域方向

direction

打印方向

起始位置

0

自左向右

左上角(图中的A)

1

自下向上

左下角(图中的B)

2

自右向左

右下角(图中的C)

3

自上向下

右上角(图中的D)

 

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

下图展示了打印区域的概念

 

 

 


 

PAGE_DrawString

 

画文本

 

Syntax

bool PAGE_DrawString(wchar_t *pszString,int x, int y, int nWidthScale, int nHeightScale, int nFontType, int nFontStyle)

 

Parameters

pszString

要打印的内容。UNICODE编码字符串。

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

y

指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)

 

nWidthScale

指定宽度放大倍数 [0,7]

 

nHeightScale

指定高度放大倍数 [0,7]

 

nFontType

字体类型

0 标准字体

1 压缩字体

 

nFontStyle

指定字体风格,可以为下表中的一个或者若干个(相加即可)

Value

Meaning

0x00

正常

0x08

加粗

0x80

1点粗的下划线

0x100

2点粗的下划线

0x200

倒置(只在行首有效)

0x400

反显(黑底白字)

0x1000

每个字符顺时针旋转 90 度

 

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

页模式Draw函数并不立刻打印,只是填在页面中,直到调用了PAGE_PagePrint,才开始打印。


 

PAGE_DrawRect

画矩形

 

 

Syntax

bool PAGE_DrawRect(int x, int y, intnWidth, int nHeight, int nColor)

 

Parameters

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

 

y

指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)

 

nWidth

指定矩形宽度

 

nHeight

指定矩形高度

 

nColor

指定矩形颜色

0       白色

1       黑色

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

如果想画线,只需要把宽度设置为1(若想画粗一点的线,可设置大一点)即可。

注意:不要画太大区域矩形,否则电源撑不住打印机会复位。

 

 

 


 

PAGE_DrawBarcode

 

画条码

 

Syntax

bool PAGE_DrawBarcode(char*pszBarcodeContent, int x, int y, int nBarcodeUnitWidth, int nBarcodeHeight,int nHriFontType, int nHriFontPosition, int nBarcodeType)

 

Parameters

pszBarcodeContent

条码内容

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

y

指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)

 

nBarcodeUnitWidth

指定条码的基本元素宽度。
         可以为以下列表中所列值(n)之一。

n

单基本模块宽度
(连续型)

双基本模块宽度(离散型)

窄元素宽度

宽元素宽度

2

0.25mm

0.25mm

0.625mm

3

0.375mm

0.375mm

1.0mm

4

0.5mm

0.5mm

1.25mm

5

0.625mm

0.625mm

1.625mm

6

0.75mm

0.75mm

1.875mm

 

nBarcodeHeight

条码高度

 

nHriFontType

指定 HRI(Human ReadableInterpretation)字符的字体类型。
         可以为以下列表中所列值之一。

Value

Meaning

0x00

标准ASCII

0x01

压缩ASCII

 

nHriFontPosition

指定HRI(Human ReadableInterpretation)字符的位置。
         可以为以下列表中所列值之一。

Value

Meaning

0x00

不打印

0x01

只在条码上方打印

0x02

只在条码下方打印

0x03

条码上、下方都打印

 

nBarcodeType

可以为以下列表中所列值之一。

Value

Meaning

0x41

UPC-A

0x42

UPC-C

0x43

JAN13(EAN13)

0x44

JAN8(EAN8)

0x45

CODE39

0x46

ITF

0x47

CODEBAR

0x48

CODE93

0x49

CODE 128

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


 

PAGE_DrawQRCode

画二维码

 

Syntax

bool PAGE_DrawQRCode(char *pszContent, intx, int y, int nQRCodeUnitWidth, int nVersion, int nEcLevel)

 

Parameters

pszContent

二维码文本

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

y

指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)

 

nQRCodeUnitWidth

QR码单元宽度,范围[1,16]。

QR码单元宽度越大,QR码越大。

 

nVersion

QR码版本。0表示自动计算版本。

QR码版本越大,能编码的字符就越多,QR码也越大。

 

nEcLevel

QR码纠错等级。[1,4]

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

PAGE_DrawBitmap

 

画BMP位图

 

Syntax

boolPAGE_DrawBitmap(char *szFileName, int x, int y, int dstWidth, int dstHeight,int nBinaryAlgorithm)

 

Parameters

szFileName

位图文件路径(bmp格式)

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

y

指定垂直方向的起始点位置离打印区域上边界的点数。(纵坐标)

 

dwWidth

要打印的宽度

 

dwHeight

要打印的高度

 

nBinaryAlgorithm

二值化算法:

0 抖动算法(对彩色BMP位图效果较好)

1 平均阀值(对黑白BMP位图效果较好)

 

Return value

如果指令写入成功,返回true。否则,返回false

Remarks

 


 

Pos Function

POS_TextOut

 

打印文本

 

Syntax

boolPOS_TextOut(wchar_t * pszString, int x, int nWidthScale, int nHeightScale, intnFontType, int nFontStyle, int nEncoding)

 

Parameters

pszString

要打印的内容。UNICODE编码字符串。

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

 

nWidthScale

指定宽度放大倍数 [0,7]

 

nHeightScale

指定高度放大倍数 [0,7]

 

nFontType

字体类型

0 标准字体

1 压缩字体

 

nFontStyle

指定字体风格,可以为下表中的一个或者若干个(相加即可)

Value

Meaning

0x00

正常

0x08

加粗

0x80

1点粗的下划线

0x100

2点粗的下划线

0x200

倒置(只在行首有效)

0x400

反显(黑底白字)

0x1000

每个字符顺时针旋转 90 度

 

nEncoding

指定编码

Value

Meaning

0

GBK

1

UTF8

3

BIG5

4

SHIFT-JIS

5

EUC-KR

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

POS_TextOut并不立刻打印,需要调用POS_FeedXXX系列函数,才会把行缓冲区中的内容打印出来。


 

POS_SetBarcode

 

打印条码

 

Syntax

boolPOS_SetBarcode(char * pszBarcodeContent, int x, int nBarcodeUnitWidth, intnBarcodeHeight, int nHriFontType, int nHriFontPosition, int nBarcodeType)

 

Parameters

pszBarcodeContent

条码内容

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

nBarcodeUnitWidth

指定条码的基本元素宽度。
         可以为以下列表中所列值(n)之一。

n

单基本模块宽度
(连续型)

双基本模块宽度(离散型)

窄元素宽度

宽元素宽度

2

0.25mm

0.25mm

0.625mm

3

0.375mm

0.375mm

1.0mm

4

0.5mm

0.5mm

1.25mm

5

0.625mm

0.625mm

1.625mm

6

0.75mm

0.75mm

1.875mm

 

nBarcodeHeight

条码高度

 

nHriFontType

指定 HRI(Human ReadableInterpretation)字符的字体类型。
         可以为以下列表中所列值之一。

Value

Meaning

0x00

标准ASCII

0x01

压缩ASCII

 

nHriFontPosition

指定HRI(Human ReadableInterpretation)字符的位置。
         可以为以下列表中所列值之一。

Value

Meaning

0x00

不打印

0x01

只在条码上方打印

0x02

只在条码下方打印

0x03

条码上、下方都打印

 

nBarcodeType

可以为以下列表中所列值之一。

Value

Meaning

0x41

UPC-A

0x42

UPC-C

0x43

JAN13(EAN13)

0x44

JAN8(EAN8)

0x45

CODE39

0x46

ITF

0x47

CODEBAR

0x48

CODE93

0x49

CODE 128

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

POS_SetQRCode

 

打印二维码(QR码)

 

Syntax

bool POS_SetQRCode(char * pszContent, intx, int nQRCodeUnitWidth, int nVersion, int nEcLevel)

 

Parameters

pszContent

二维码文本

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

nQRCodeUnitWidth

QR码单元宽度,范围[1,16]。

QR码单元宽度越大,QR码越大。

 

nVersion

QR码版本。0表示自动计算版本。

QR码版本越大,能编码的字符就越多,QR码也越大。

 

nEcLevel

QR码纠错等级。[1,4]

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

POS_PrintPicture

 

打印BMP位图

 

Syntax

PRINTERLIBS_APIbool POS_PrintPicture(char * szFileName, int x, int dstw, int dsth, intnBinaryAlgorithm, int nCompressMethod)

 

Parameters

SzFileName

位图文件完整路径

 

x
         指定水平方向的起始点位置离打印区域左边界的点数。(横坐标)

支持左对齐,居中,右对齐

传入x见下表

x

含义

-1

左对齐

-2

居中对齐

-3

右对齐

大于等于0

横坐标

 

dstw

要打印的宽度

dsth

要打印的高度

 

nBinaryAlgorithm

二值化算法:

0 抖动算法(对彩色BMP位图效果较好)

1 平均阀值(对黑白BMP位图效果较好)

 

nCompressMethod

图像压缩算法:

0 不压缩

1 压缩(减小数据量,对串口提速较明显,部分机型不支持)

 

Return value

如果指令写入成功,返回true。否则,返回false

Remarks


 

 

POS_SelfTest

 

打印自检页

 

Syntax

bool POS_SelfTest()

 

Parameters

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 

 


 

POS_FeedLine

 

 

 

Syntax

bool POS_FeedLine()

 

Parameters

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

打印机进纸一行

 

 


 

POS_FeedNLine

 

 

 

Syntax

bool POS_FeedNLine(int nLine)

 

Parameters

nLine

进纸行数

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

进纸nLine行

 


 

POS_FeedNDot

 

 

 

Syntax

bool POS_FeedNDot(int nDot)

 

Parameters

nDot

进纸点数

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

进纸nDot点。一般情况下,1mm有8个点。

 

 


POS_QueryStatus

 

查询打印机状态

 

Syntax

bool POS_QueryStatus(int type, char *status, unsigned int timeout)

 

Parameters

 

type

目前固定为1

 

status

打印机状态

该值目前无意义

 

timeout

超时毫秒时间

 

Return value

如果状态查询成功,返回true。否则,返回false

 

Remarks

该命令返回true表明打印机处于可打印状态。


 

POS_RTQueryStatus

 

实时查询打印机状态

 

Syntax

bool POS_RTQueryStatus(int type, char *status, unsigned int timeout)

 

Parameters

 

type

类型,目前可以为0,1,2,3,具体见下表

status

打印机状态

 

type含义见下表:

 

type=0:打印机状态

0/1

十六进制码

十进制码

功能

0

0

00

0

固定为0

1

1

02

2

固定为1

2

0

00

0

一个或两个钱箱打开

(没有钱箱的机器该位固定为零)

1

04

4

两个钱箱都关闭

3

0

00

0

联机

1

08

8

脱机

4

1

10

16

固定为1

5,6

 

--

--

未定义

7

0

00

00

纸已撕走

1

80

96

纸未撕走

 

type=1:传送脱机状态

0/1

十六进制码

十进制码

功能

0

0

00

0

固定为0

1

1

02

2

固定为1

2

0

00

0

上盖关

1

04

4

上盖开

3

0

00

0

未按走纸键

1

08

8

按下走纸键

4

1

10

16

固定为1

5

0

00

0

打印机不缺纸

1

20

32

打印机缺纸

6

0

00

00

没有出错情况

1

40

64

有错误情况

7

0

00

0

固定为0

 

type=2:传送错误状态

0/1

十六进制码

十进制码

功能

0

0

00

0

固定为0

1

1

02

2

固定为1

2

 

--

--

未定义

3

0

00

0

切刀无错误

1

08

8

切刀有错误

4

1

10

16

固定为1

5

0

00

0

无不可恢复错误

1

20

32

有不可恢复错误

6

0

00

00

打印头温度和电压正常

1

40

64

打印头温度或电压超出范围

7

0

00

0

固定为0

 

type=3:传送纸传感器状态

0/1

十六进制码

十进制码

功能

0

0

00

0

固定为0

1

1

02

2

固定为1

2,3

0

00

0

有纸

1

0C

12

纸将近

4

1

10

16

固定为1

5,6

0

00

0

有纸

1

60

96

纸尽

7

0

00

0

固定为0

 

timeout

超时毫秒时间

Return value

如果状态查询成功,返回true。否则,返回false

 

Remarks

任何时候打印机收到该命令都会立刻返回。

 


 

POS_TicketSucceed

 

单据打印结果查询

 

Syntax

bool POS_TicketSucceed(int dwSendIndex,unsigned int timeout)

 

Parameters

dwSendIndex

单据索引

目前并无实际意义,可以固定填0

 

timeout

超时毫秒时间

 

Return value

单据打印完成,并且没有因为缺纸而中断,则返回true。

否则,没有查到状态,或返回因为缺纸或其他错误导致打印中断,则返回false。

 

Remarks

为了保证单据打印的可靠性,请每批次打印任务完成之后,调用一次该函数确认单据打印结果。

 


 

 

POS_SetMotionUnit

 

设置水平和垂直移动单位

 

Syntax

bool POS_SetMotionUnit(int nHorizontal, intnVertical)

 

Parameters

nHorizontal

水平移动单位

 

nVertical

垂直移动单位

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

当nHorizontal和nVertical都设置为200时,1点就是0.125mm。

 

 


 

POS_SetLineHeight

 

设置行高

 

Syntax

bool POS_SetLineHeight(int nDistance)

 

Parameters

nDistance

行高

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


 

POS_SetRightSpacing

 

设置字符右边空白

 

Syntax

bool POS_SetRightSpacing(int nDistance)

 

Parameters

nDistance

字符右边空白

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


 

POS_Reset

 

复位打印机。会清空设置。

 

Syntax

bool POS_Reset()

 

Parameters

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

POS_KickOutDrawer

 

打开钱箱

 

Syntax

bool POS_KickOutDrawer(int nID, intnHighLevelTime, int nLowLevelTime);

 

Parameters

nID

钱箱编号

0       钱箱引脚2

1       钱箱引脚5

 

nHighLevelTime

钱箱脉冲高电位ms时间

 

nLowLevelTime

钱箱脉冲低电位ms时间

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

POS_FeedAndCutPaper

 

进纸到切刀位置并切纸

 

Syntax

bool POS_FeedAndCutPaper

 

Parameters

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


POS_FullCutPaper

 

直接切纸(全切)

 

Syntax

bool POS_FullCutPaper

 

Parameters

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks


POS_HalfCutPaper

 

直接切纸(半切)

 

Syntax

bool POS_HalfCutPaper

 

Parameters

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


 

POS_Beep

 

蜂鸣器鸣叫

 

Syntax

bool POS_Beep(int nBeepCount, intnBeepMillis)

 

Parameters

nBeepCount

鸣叫次数

 

nBeepMillis

蜂鸣时间:100ms为单位

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks


 

Label Function

 

LABEL_PageBegin

描述:指示一个 Page页面的开始,并设置 Page页的大小,参考点坐标和页面旋转角度。

 

Syntax

bool LABEL_PageBegin(intstartx, int starty, int width, int height, int rotate)

 

Parameters

startx

页面起始点x坐标

 

starty

页面起始点y坐标

 

width

页面页宽

startx + width的范围为[1,384]。编写SDK的时候,该打印机一行的打印点数为384点。如果你不确定每行打印点数,请参考打印机规格书。一般来说有384,576,832这三种规格。

 

height

页面页高

starty + height的范围[1,936]。编写SDK的时候,限制是936,但是这个值并不确定,这和打印机的资源有关。即便如此,也不建议把页高设置过大。建议页宽和页高设置和标签纸匹配即可。

 

rotate

页面旋转。 rotate的取值范围为{0,1}。为0,页面不旋转打印,为1,页面旋转90度打印。

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

LABEL_PageEnd

描述:指示一个 Page页面的结束。

 

Syntax

bool LABEL_PageEnd()

 

Parameters

 

Return value

如果指令写入成功,返回true。否则,返回false

Remarks

 


 

LABEL_PagePrint

描述: Page页上的内容打印到标签纸上。

 

Syntax

bool LABEL_PagePrint(int num)

 

Parameters

num

打印的次数,1-255

 

Returnvalue

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

LABEL_PageFeed

描述:走纸到标签缝隙处。

 

Syntax

bool LABEL_PageFeed()

 

Parameters

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


 

LABEL_PageCalibrate

描述:校准标签纸

 

Syntax

bool LABEL_PageCalibrate()

 

Parameters

 

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks


 

LABEL_DrawPlainText

描述: Page页面上指定位置绘制文本。只能单行打印。

 

Syntax

boolLABEL_DrawPlainText(int startx, int starty, int font, int style, const char*str)

 

Parameters

startx

定义文本起始位置 x坐标,取值范围:[0,Page_Width-1]

 

starty

定义文本起始位置 y坐标,取值范围:[0,Page_Height-1]

 

font

选择字体,有效值范围为{16, 24, 32, 48, 64, 80,96},当前打印机只可以使用24

 

style

字符风格。

数据位             定义

0 加粗标志位       1 字体加粗,清零则字体不加粗。

1 下划线标志位:     1文本带下划线,清零则无下划线。

2 反白标志位:       1文本反白(黑底白字),清零不反白。

3 删除线标志位:     1文本带删除线,清零则无删除线。

[5,4] 旋转标志位:  00旋转 0°

01 旋转 90°;

10 旋转 180°

11 旋转 270°;

[11,8] 字体宽度放大倍数;

[15,12] 字体高度放大倍数;

 

str

字符串数据流

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


 

LABEL_DrawLine

描述: Page页指定两点间绘制一条直线段。

 

Syntax

bool LABEL_DrawLine(intstartx, int starty, int endx, int endy, int width, int color)

 

Parameters

startx

直线段起始点 x坐标值,取值范围:[0,Page_Width-1]

 

starty

直线段起始点 y坐标值,取值范围:[0Page_Height-1]

 

endx

直线段终止点 x坐标值,取值范围:[0, Page_Width-1]

 

endy

直线段终止点 y坐标值,取值范围:[0,Page_Height-1]

 

width

     直线段线宽,取值范围:[1Page_Height-1]

 

color

直线段颜色,取值范围:{0, 1}

Color 1 时,线段为黑色。

Color 0 时,线段为白色。

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

LABEL_DrawBox

描述: Page页指定位置绘制指定大小的矩形框。

 

Syntax

boolLABEL_DrawBox(int left, int top, int right, int bottom, int borderwidth, intbordercolor)

 

Parameters

left

矩形框左上角x坐标值,取值范围:[0, Page_Width-1]

top

矩形框左上角y坐标值。取值范围:[0, Page_Height-1]

right

矩形框右下角x坐标值。取值范围:[0, Page_Width-1]

bottom

   矩形框右下角 y坐标值。取值范围:[0, Page_Height-1]

borderwidth

   矩形框线宽。

bordercolor

矩形框线颜色,曲直范围{01}。当 Color = 1时,绘制黑色矩形宽,Color = 0时,绘制白色矩形框。

 

Returnvalue

如果指令写入成功,返回true。否则,返回false

 

Remarks

 


 

LABEL_DrawRectangel

描述: Page页指定位置绘制矩形块。

 

Syntax

boolLABEL_DrawRectangel(int left, int top, int right, int bottom, int color)

 

Parameters

left

矩形块左上角 x坐标值,取值范围:[0, Page_Width-1]

top

矩形块左上角 y坐标值。取值范围:[0, Page_Height-1]

right

矩形块右下角 x坐标值。取值范围:[0, Page_Width-1]

bottom

矩形块右下角 y坐标值。取值范围:[0, Page_Height-1]

color

矩形块颜色,取值范围:{0, 1}。当 Color 1时,矩形块为黑色。当 Color 0时,矩形块为白色。

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

LABEL_DrawBarcode

描述: Page页指定位置绘制一维条码。

 

Syntax

boolLABEL_DrawBarcode(int startx, int starty, int type, int height, int unitwidth,int rotate, const char *str)

 

Parameters

startx

条码左上角 x坐标值,取值范围:[0, Page_Width-1]

starty

条码左上角 y坐标值,取值范围:[0, Page_Height-1]

type

标识条码类型,取值范围:[0, 29]各值定义如下:

type   类型        长度    条码值范围(十进制)

0       UPC-A     11      48-57

1       UPC-E     6       48-57

2       EAN13     12     48-57

3       EAN8       7       48-57

4       CODE39     1-     48-57,65-90,32,36,37,43,45,46,47

5       I25        1-     偶数 48-57

6       CODABAR    1-     48-57,65-68,36,43,45,46,47,58

7       CODE93 1-255 0-127

8       CODE128    2-255 0-127

9       CODE11

10     MSI

11     "128M",//可以根据数据切换编码模式-> !096- !105

12     "EAN128",// 自动切换编码模式

13     "25C",//25C Check use mod 10->奇数先在前面补010的倍数-[(奇数位的数字之和<从左至右)+(偶数位数字之和)*3]

14      "39C", //39碼的檢查碼必須搭配「檢查碼相對值對照表」,如表所示,將查出的相對值累加後再除以43,得到的餘數再查出相對的編碼字元,即為檢查碼字元。

15     "39",//Full ASCII 39 Code, 特殊字符用两个可表示的字来表示, 39C同样是包含Full ASCII,注意宽窄比处理

16     "EAN13+2",// 附加码与主码间隔 7-12单位,起始为 1011间隔为 01(_0*10+_1) Mod 4-> 0--AA 1--AB 2--BA 3--BB

17     "EAN13+5",//附加码部分同上,模式((_0+_2+_4)*3+(_1+_3)*9) mod 10->"bbaaa","babaa","baaba", "baaab", "abbaa","aabba", "aaabb", "ababa","abaab","aabab

18     "EAN8+2",// EAN13+2

19     "EAN8+5",// EAN13+5

20      "POST", // 详见规格说明,是高低条码,不是宽窄条码

21     "UPCA+2",// 附加码见 EAN

22      "UPCA+5", // 附加码见 EAN

23     "UPCE+2",// 附加码见 EAN

24     "UPCE+5",//附加码见 EAN

25     "CPOST",// 测试不打印。。。

26     "MSIC",//将检查码作为数据再计算一次检查码

27     "PLESSEY",// 测试不打印。。。

28     "ITF14",// 25C 变种,第一个数前补0,检查码计算时需扣除最后一个数,但仍填充为最尾端

29     "EAN14"

 

height

定义条码高度。

 

unitwidth

定义条码码宽。取值范围:[1, 4]

各值定义如下:

Width多级条码单位宽度(mm)二进制条码窄线条宽度二进制条码宽线条宽度

1 0.125 0.125 0.25

2 0.25 0.25 0.50

3 0.375 0.375 0.75

4 0.50 0.50 1.0

 

rotate

表示条码旋转角度。取值范围:[0, 3]。各值定义如下:

Rotate取值    定义

0               条码不旋转绘制。

1               条码旋转90°绘制。

2               条码旋转 180°绘制。

3               条码旋转 270°绘制。

str

文本字符数据流

 

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

LABEL_DrawQRCode

描述: Page页指定位置绘制 QRCode码。

 

Syntax

bool LABEL_DrawQRCode(intstartx, int starty, int version, int ecc, int unitwidth, int rotate, const char*str)

 

Parameters

startx

QRCode 码左上角 x坐标值,取值范围:[0Page_Width-1]

starty

QRCode 码左上角 y坐标值,取值范围:[0, Page_Height-1]

version

指定字符版本。取值范围:[0,20]。当 version 0时,打印机根据字符串长度自动计算版本号。

ecc

指定纠错等级。取值范围:[1, 4]。各值定义如下:

ECC     纠错等级

1       L7%,低纠错,数据多。

2       M15%,中纠错

3       Q:优化纠错

4       H30%,最高纠错,数据少。

unitwidth

QRCode 码码块,取值范围:[1, 4]。各值定义与一维条码指令输入参数UniWidth相同。

rotate

QRCode 码旋转角度,取值范围:[0, 3]。各值定义与一维条码指令输入参数Rotate相同。

str

QRCode 文本字符数据流

Return value

如果指令写入成功,返回true。否则,返回false

 

Remarks

 

 


 

LABEL_DrawPDF417

描述: Page页指定位置绘制 PDF417条码

 

Syntax

boolLABEL_DrawPDF417(int startx, int starty, int colnum, int lwratio, int ecc, intunitwidth, int rotate, const char *str)

 

Parameters

startx

PDF417 码左上角 x坐标值,取值范围:[0Page_Width-1]

starty

PDF417 码左上角 y坐标值,取值范围:[0, Page_Height-1]

colnum

ColNum 为列数,表述每行容纳多少码字。一个码字为 17*UnitWidth个点。行数由打印机自动产生,行数范围限定为3~90ColNum的取值范围:[1,30]

lwratio

宽高比。取值范围:[3,5]

ecc

纠错等级,取值范围:[0.8]

ecc取值纠错码数可存资料量(字节)

0 2 1108

1 4 1106

2 8 1101

3 16 1092

4 32 1072

5 64 1024

6 128 957

7 256 804

8 512 496

unitwidth

PDF417 码码块,取值范围:[1, 3]。各值定义与一维条码指令输入参数 UniWidth相同。

rotate

PDF417 码旋转角度,取值范围:[0, 3]。各值定义与一维条码指令输入参数 Rotate相同。

str

PDF417 文本字符数据流。

Returnvalue

如果指令写入成功,返回true。否则,返回false

Remarks

 


 

LABEL_DrawBitmap

描述: Page页指定位置绘制位图。

 

Syntax

boolLABEL_DrawImage(int startx, int starty, int width, int height, int style, constbool *img)

 

Parameters

startx

位图左上角 x坐标值,取值范围:[0,Page_Width]

starty

图左上角 y坐标值,取值范围:[0,Page_Height]

width

    位图的像素宽度。

height

    位图的像素高度。

style

    位图打印特效,各位定义如下:

   定义

0       反白标志位,置 1位图反白打印,清零正常打印。

[2:1] 旋转标志位:

00旋转 0°

01 旋转 90°;

10 旋转 180°;

11 旋转 270°

[7:3] 保留。

[11:8] 位图宽度放大倍数。

[12:15]位图高度放大倍数。

img

位图的点阵数据。

 

Returnvalue

如果指令写入成功,返回true。否则,返回false

Remarks

 


 

LABEL_DrawBitmap

描述: Page页指定位置绘制位图。

 

Syntax

bool LABEL_DrawBitmap(intstartx, int starty, int dstw, int dsth, int style, const char *pszFile, intnBinaryAlgorithm)

 

Parameters

startx

位图左上角 x坐标值,取值范围:[0, Page_Width]

starty

位图左上角 y坐标值,取值范围:[0, Page_Height]

dstw

    要打印的像素宽度。

dsth

    要打印的像素高度。

style

同上

pszFile

要打印的位图文件

nBinaryAlgorithm

二值化算法,彩色图片无法直接打印,需要二值化为黑白图像才可以打印。

0 使用抖动算法

1 使用平均阀值算法

 

Return value

如果指令写入成功,返回true。否则,返回false

Remarks

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值