PrinterSDK API 说明文档(Windows / C++)

版本:1.6.3-windows-cpp
命名空间:hspos
入口类:PrinterSdk
常量类:PrinterConstants
连接句柄:std::shared_ptr<IPrinterConnection>
头文件:#include "hspos/HsposPrinterSdk.hpp"
配套文档:PrinterSDK_使用说明书.md、PrinterSDK_Windows_CPP_API对照表.md
最后更新:2026-07-18
说明:本手册与 Android 版 PrinterSDK_API_说明文档.pdf(1.6.3)及 Windows C# 版体例对齐;方法名为 C++ PascalCase。


目录

  1. SDK 简介
  2. 常见问题
  3. 枚举与宏(PrinterConstants)
  4. 接口说明
  5. 暂未实现 / 不移植 API

SDK 简介

HS-POS PrinterSDK Windows C++ 版提供与 Android 1.6.3 / Windows C# 版对齐的 ESC/POS + JPL 打印能力。业务代码通过单例 PrinterSdk::GetInstance() 完成连接、打印与状态查询。

典型流程

  1. GetInstance()
  2. ConnectXxxPrinter(...) 获得 shared_ptr<IPrinterConnection>
  3. InitPrinter(conn)
  4. 文本 / 条码 / 页模式 / 标签 / 光栅 API
  5. FeedAndCutPaper(conn) 或标签 LabelPagePrint
  6. DisconnectPrinter(conn)

返回值语义

常见问题

中文乱码?

先 SetChineseMode,再 SetDoubleByteEncoding(..., DoubleByteEncodingGbk),并用 PrintTextInGbk。

切纸位置不对?

切刀在打印头上方约 10–20mm。请使用 FeedAndCutPaper,或先 PrintAndFeedLines / FeedPaper(dots) 再 CutPaper。
注意:C++ FeedPaper(n) 的 n 是点(ESC J),不是行;走纸行请用 PrintAndFeedLines。

USB 能打印但状态总不对?

需以可读可写方式打开 USB;连接后先断开再重连。状态以 GetPrinterStatus / HasPaper / IsCoverOpen 为准。

与 Android 权限 API?

Windows 无 hasUsbPermission / requestUsbPermission / onRequestPermissionsResult;请安装驱动后直接连接。

枚举与宏(PrinterConstants)

以下常量定义于 include/hspos/PrinterConstants.hpp,命名与 C# / Android 对齐(C++ 使用 PrinterConstants::Xxx)。

常量 定义

| AlignmentLeft | int = 0 |
| AlignmentCenter | int = 1 |
| AlignmentRight | int = 2 |
| CutFull | int = 0 |
| CutPartial | int = 1 |
| PaperWidth58Mm | int = 384 |
| PaperWidth80Mm | int = 576 |
| BarcodeHriNone | int = 0 |
| BarcodeHriBelow | int = 2 |
| BarcodeTypeUpcA | int = 0x41 |
| BarcodeTypeUpcE | int = 0x42 |
| BarcodeTypeEan13 | int = 0x43 |
| BarcodeTypeEan8 | int = 0x44 |
| BarcodeTypeCode39 | int = 0x45 |
| BarcodeTypeItf | int = 0x46 |
| BarcodeTypeCodabar | int = 0x47 |
| BarcodeTypeCode93 | int = 0x48 |
| BarcodeTypeCode128 | int = 0x49 |
| QrEccLevelL | int = 1 |
| QrEccLevelM | int = 2 |
| QrEccLevelQ | int = 3 |
| QrEccLevelH | int = 4 |
| StatusOffline | int = 0x00 |
| StatusOnline | int = 0x01 |
| StatusPaperOut | int = 0x02 |
| StatusCoverOpen | int = 0x04 |
| StatusTypePrinter | int = 1 |
| StatusTypeOffline | int = 2 |
| StatusTypeError | int = 3 |
| StatusTypePaperSensor | int = 4 |
| CashDrawerPin2 | int = 0 |
| CashDrawerPin5 | int = 1 |
| BeepDefaultCount | int = 1 |
| BeepDefaultDuration | int = 100 |
| DoubleByteEncodingGbk | int = 0 |
| DoubleByteEncodingUtf8 | int = 1 |
| DoubleByteEncodingBig5 | int = 3 |
| DoubleByteEncodingShiftJis | int = 4 |
| DoubleByteEncodingEucKr | int = 5 |
| PageDirectionLeftToRight | int = 0 |
| PageDirectionBottomToTop | int = 1 |
| PageDirectionRightToLeft | int = 2 |
| PageDirectionTopToBottom | int = 3 |
| LabelBarcodeTypeCode128 | int = 8 |
| LabelBarcodeHeightDefault | int = 80 |
| LabelBarcodeUnitWidth2 | int = 2 |
| RasterCompressionGsV0 | int = 0 |
| RasterCompressionLineRle | int = 1 |
| RasterCompressionJbig | int = 2 |
| RasterCompressionAuto | int = 3 |
| NvBitmapModeNormal | int = 0 |

接口说明

生命周期

GetInstance

获取 PrinterSdk 单例。Windows C++ 版无需 Context。

语法

static PrinterSdk& GetInstance();
// 获取 PrinterSdk 单例。Windows C++ 版无需 Context。
//
// 返回值
// 返回 `PrinterSdk&`。

Release

释放 SDK 内部资源(连接缓存等)。

语法

void Release();
// 释放 SDK 内部资源(连接缓存等)。
//
// 返回值
// 无返回值。

端口 / 连接功能

ConnectNetworkPrinter

同步连接网络打印机(TCP RAW,默认端口 9100)。

语法

std::shared_ptr<IPrinterConnection> ConnectNetworkPrinter(const std::string& host, int port = 9100);
// 同步连接网络打印机(TCP RAW,默认端口 9100)。
//
// host
// 详见方法说明 / 参数含义见用法示例。
// port
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

ConnectSerialPrinter

连接串口打印机(COM)。

语法

std::shared_ptr<IPrinterConnection> ConnectSerialPrinter(const SerialPortSettings& settings);
// 连接串口打印机(COM)。
//
// settings
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

ConnectSerialPrinter

连接串口打印机(COM)。

语法

std::shared_ptr<IPrinterConnection> ConnectSerialPrinter(const std::string& portName, int baudRate = 9600);
// 连接串口打印机(COM)。
//
// portName
// 详见方法说明 / 参数含义见用法示例。
// baudRate
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

ConnectUsbPrinter

连接 USB 打印机(USB00x 打印口或 SetupAPI 设备路径)。

语法

std::shared_ptr<IPrinterConnection> ConnectUsbPrinter(const std::string& portNameOrPath);
// 连接 USB 打印机(USB00x 打印口或 SetupAPI 设备路径)。
//
// portNameOrPath
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

ConnectUsbPrinter

连接 USB 打印机(USB00x 打印口或 SetupAPI 设备路径)。

语法

std::shared_ptr<IPrinterConnection> ConnectUsbPrinter(const UsbPrinterInfo& device);
// 连接 USB 打印机(USB00x 打印口或 SetupAPI 设备路径)。
//
// device
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

ConnectParallelPrinter

连接并口打印机(LPT,Windows 额外能力)。

语法

std::shared_ptr<IPrinterConnection> ConnectParallelPrinter(const std::string& portName);
// 连接并口打印机(LPT,Windows 额外能力)。
//
// portName
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

ConnectBluetoothPrinter

连接蓝牙打印机(SPP)。

语法

std::shared_ptr<IPrinterConnection> ConnectBluetoothPrinter(const std::string& address);
// 连接蓝牙打印机(SPP)。
//
// address
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

ConnectBluetoothPrinter

连接蓝牙打印机(SPP)。

语法

std::shared_ptr<IPrinterConnection> ConnectBluetoothPrinter(const BluetoothPrinterInfo& device, bool pairIfNeeded = true);
// 连接蓝牙打印机(SPP)。
//
// device
// 详见方法说明 / 参数含义见用法示例。
// pairIfNeeded
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 成功返回连接句柄,失败返回空 shared_ptr。

DisconnectPrinter

断开并释放连接。

语法

bool DisconnectPrinter(const std::shared_ptr<IPrinterConnection>& connection);
// 断开并释放连接。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

ListSerialPorts

枚举本机串口名(COM1…)。

语法

static std::vector<std::string> ListSerialPorts();
// 枚举本机串口名(COM1…)。
//
// 返回值
// 返回 `static std::vector<std::string>`。

GetUsbDevices

枚举本机 USB 打印机设备。

语法

static std::vector<UsbPrinterInfo> GetUsbDevices();
// 枚举本机 USB 打印机设备。
//
// 返回值
// 返回 `static std::vector<UsbPrinterInfo>`。

GetParallelDevices

枚举并口设备名(LPT1…)。

语法

static std::vector<std::string> GetParallelDevices();
// 枚举并口设备名(LPT1…)。
//
// 返回值
// 返回 `static std::vector<std::string>`。

IsBluetoothAvailable

检测本机蓝牙适配器是否可用。

语法

static bool IsBluetoothAvailable();
// 检测本机蓝牙适配器是否可用。
//
// 返回值
// 返回 `static bool`。

GetBluetoothPairedDevices

获取已配对蓝牙设备列表。

语法

static std::vector<BluetoothPrinterInfo> GetBluetoothPairedDevices();
// 获取已配对蓝牙设备列表。
//
// 返回值
// 返回 `static std::vector<BluetoothPrinterInfo>`。

DiscoverBluetoothDevices

扫描附近蓝牙设备(阻塞)。

语法

static std::vector<BluetoothPrinterInfo> DiscoverBluetoothDevices(bool excludePaired = true);
// 扫描附近蓝牙设备(阻塞)。
//
// excludePaired
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `static std::vector<BluetoothPrinterInfo>`。

StopBluetoothDiscovery

停止蓝牙扫描。

语法

static void StopBluetoothDiscovery();
// 停止蓝牙扫描。
//
// 返回值
// 返回 `static void`。

PairBluetoothDevice

发起蓝牙配对。

语法

static bool PairBluetoothDevice(const std::string& address, const std::string& pin = "");
// 发起蓝牙配对。
//
// address
// 详见方法说明 / 参数含义见用法示例。
// pin
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `static bool`。

打印机状态功能

QueryRtStatus

DLE EOT 实时状态查询。

语法

int QueryRtStatus(const std::shared_ptr<IPrinterConnection>& connection, int type);
// DLE EOT 实时状态查询。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// type
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `int`。

QueryTransmitStatus

GS r 传输状态查询。

语法

int QueryTransmitStatus(const std::shared_ptr<IPrinterConnection>& connection, int type);
// GS r 传输状态查询。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// type
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `int`。

GetPrinterStatus

综合状态位(在线/缺纸/开盖)。

语法

int GetPrinterStatus(const std::shared_ptr<IPrinterConnection>& connection);
// 综合状态位(在线/缺纸/开盖)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `int`。

IsPrinterOnline

是否在线。

语法

bool IsPrinterOnline(const std::shared_ptr<IPrinterConnection>& connection);
// 是否在线。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

HasPaper

是否有纸。

语法

bool HasPaper(const std::shared_ptr<IPrinterConnection>& connection);
// 是否有纸。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

IsCoverOpen

盖子是否打开。

语法

bool IsCoverOpen(const std::shared_ptr<IPrinterConnection>& connection);
// 盖子是否打开。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

票据打印功能

InitPrinter

初始化打印机(ESC @)。

语法

bool InitPrinter(const std::shared_ptr<IPrinterConnection>& connection);
// 初始化打印机(ESC @)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

ResetPrinter

复位打印机。

语法

bool ResetPrinter(const std::shared_ptr<IPrinterConnection>& connection);
// 复位打印机。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintText

打印文本(默认编码路径)。

语法

bool PrintText(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text);
// 打印文本(默认编码路径)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintTextInUtf8

以 UTF-8 编码打印文本。

语法

bool PrintTextInUtf8(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text);
// 以 UTF-8 编码打印文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintTextInGbk

以 GBK 编码打印文本(推荐中文小票)。

语法

bool PrintTextInGbk(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text);
// 以 GBK 编码打印文本(推荐中文小票)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintTextLineLeftRight

标准模式一行左右分列。

语法

bool PrintTextLineLeftRight(const std::shared_ptr<IPrinterConnection>& connection, const std::string& left, const std::string& right, int areaWidthDots, int charWidthDots);
// 标准模式一行左右分列。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// left
// 详见方法说明 / 参数含义见用法示例。
// right
// 详见方法说明 / 参数含义见用法示例。
// areaWidthDots
// 详见方法说明 / 参数含义见用法示例。
// charWidthDots
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetAlignment

设置对齐方式(左/中/右)。

语法

bool SetAlignment(const std::shared_ptr<IPrinterConnection>& connection, int align);
// 设置对齐方式(左/中/右)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// align
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetBold

设置加粗。

语法

bool SetBold(const std::shared_ptr<IPrinterConnection>& connection, bool bold);
// 设置加粗。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// bold
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetUnderline

设置下划线。

语法

bool SetUnderline(const std::shared_ptr<IPrinterConnection>& connection, bool underline);
// 设置下划线。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// underline
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetReverse

设置反白。

语法

bool SetReverse(const std::shared_ptr<IPrinterConnection>& connection, bool reverse);
// 设置反白。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// reverse
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetTextScale

设置字符宽高放大倍数(0–7)。

语法

bool SetTextScale(const std::shared_ptr<IPrinterConnection>& connection, int widthScale, int heightScale);
// 设置字符宽高放大倍数(0–7)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// widthScale
// 详见方法说明 / 参数含义见用法示例。
// heightScale
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetLineSpacing

设置行距(点)。

语法

bool SetLineSpacing(const std::shared_ptr<IPrinterConnection>& connection, int spacing);
// 设置行距(点)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// spacing
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetChineseMode

进入汉字模式。

语法

bool SetChineseMode(const std::shared_ptr<IPrinterConnection>& connection);
// 进入汉字模式。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetSingleByteMode

进入单字节模式。

语法

bool SetSingleByteMode(const std::shared_ptr<IPrinterConnection>& connection);
// 进入单字节模式。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetDoubleByteEncoding

设置双字节编码(GBK/UTF-8/BIG5/ShiftJIS/EUCKR)。

语法

bool SetDoubleByteEncoding(const std::shared_ptr<IPrinterConnection>& connection, int encoding);
// 设置双字节编码(GBK/UTF-8/BIG5/ShiftJIS/EUCKR)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// encoding
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetChineseDoubleSize

汉字倍宽倍高。

语法

bool SetChineseDoubleSize(const std::shared_ptr<IPrinterConnection>& connection, bool enable);
// 汉字倍宽倍高。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// enable
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetPrintAreaWidth

设置打印区域宽度(点)。

语法

bool SetPrintAreaWidth(const std::shared_ptr<IPrinterConnection>& connection, int width);
// 设置打印区域宽度(点)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetPrintAreaLeftMargin

设置左边距(点)。

语法

bool SetPrintAreaLeftMargin(const std::shared_ptr<IPrinterConnection>& connection, int leftMargin);
// 设置左边距(点)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// leftMargin
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetBarcodeHeight

设置条码高度。

语法

bool SetBarcodeHeight(const std::shared_ptr<IPrinterConnection>& connection, int height);
// 设置条码高度。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetBarcodeWidth

设置条码模块宽度。

语法

bool SetBarcodeWidth(const std::shared_ptr<IPrinterConnection>& connection, int width);
// 设置条码模块宽度。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetBarcodeHriPosition

设置条码 HRI 文字位置。

语法

bool SetBarcodeHriPosition(const std::shared_ptr<IPrinterConnection>& connection, int pos);
// 设置条码 HRI 文字位置。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// pos
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

FeedLine

换行(LF)。

语法

bool FeedLine(const std::shared_ptr<IPrinterConnection>& connection);
// 换行(LF)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

FeedPaper

按点数走纸(ESC J n)。注意:C++ 参数单位是点,不是行。

语法

bool FeedPaper(const std::shared_ptr<IPrinterConnection>& connection, int dots);
// 按点数走纸(ESC J n)。注意:C++ 参数单位是点,不是行。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// dots
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintAndFeedLines

打印缓冲区并走纸 n 行(ESC d n)。

语法

bool PrintAndFeedLines(const std::shared_ptr<IPrinterConnection>& connection, int lines);
// 打印缓冲区并走纸 n 行(ESC d n)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// lines
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

CutPaper

切纸。CutPartial 使用 ESC m,CutFull 使用 ESC i。

语法

bool CutPaper(const std::shared_ptr<IPrinterConnection>& connection, int cutType);
// 切纸。CutPartial 使用 ESC m,CutFull 使用 ESC i。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// cutType
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

FeedAndCutPaper

走纸越过切刀后半切(推荐票据收尾)。

语法

bool FeedAndCutPaper(const std::shared_ptr<IPrinterConnection>& connection);
// 走纸越过切刀后半切(推荐票据收尾)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintBarcode

打印一维条码。

语法

bool PrintBarcode(const std::shared_ptr<IPrinterConnection>& connection, int type, const std::string& data, int hriPos, int height, int width);
// 打印一维条码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// type
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// hriPos
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintQrCode

打印二维码(简化参数)。

语法

bool PrintQrCode(const std::shared_ptr<IPrinterConnection>& connection, const std::string& content, int size);
// 打印二维码(简化参数)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// content
// 详见方法说明 / 参数含义见用法示例。
// size
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintQrCodeStandard

打印二维码(尺寸/对齐/纠错等级)。

语法

bool PrintQrCodeStandard(const std::shared_ptr<IPrinterConnection>& connection, const std::string& content, int size, int align, int eccLevel);
// 打印二维码(尺寸/对齐/纠错等级)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// content
// 详见方法说明 / 参数含义见用法示例。
// size
// 详见方法说明 / 参数含义见用法示例。
// align
// 详见方法说明 / 参数含义见用法示例。
// eccLevel
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintPdf417

打印 PDF417(POS GS ( k)。

语法

bool PrintPdf417(const std::shared_ptr<IPrinterConnection>& connection, int columns, int rows, int moduleWidth, int rowHeight, int errorCorrectionLevel, int option, const std::string& data);
// 打印 PDF417(POS GS ( k)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// columns
// 详见方法说明 / 参数含义见用法示例。
// rows
// 详见方法说明 / 参数含义见用法示例。
// moduleWidth
// 详见方法说明 / 参数含义见用法示例。
// rowHeight
// 详见方法说明 / 参数含义见用法示例。
// errorCorrectionLevel
// 详见方法说明 / 参数含义见用法示例。
// option
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintDoubleQrCode

并排打印双二维码。

语法

bool PrintDoubleQrCode(const std::shared_ptr<IPrinterConnection>& connection, int n, int qr1Pos, const std::string& qr1Data, int qr1Ecc, int qr1Ver, int qr2Pos, const std::string& qr2Data, int qr2Ecc, int qr2Ver);
// 并排打印双二维码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// n
// 详见方法说明 / 参数含义见用法示例。
// qr1Pos
// 详见方法说明 / 参数含义见用法示例。
// qr1Data
// 详见方法说明 / 参数含义见用法示例。
// qr1Ecc
// 详见方法说明 / 参数含义见用法示例。
// qr1Ver
// 详见方法说明 / 参数含义见用法示例。
// qr2Pos
// 详见方法说明 / 参数含义见用法示例。
// qr2Data
// 详见方法说明 / 参数含义见用法示例。
// qr2Ecc
// 详见方法说明 / 参数含义见用法示例。
// qr2Ver
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintDoubleQrCodeManualExample

双二维码手动示例指令。

语法

bool PrintDoubleQrCodeManualExample(const std::shared_ptr<IPrinterConnection>& connection);
// 双二维码手动示例指令。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

EstimateQrSymbolWidthDots

估算 QR 符号宽度(点)。

语法

int EstimateQrSymbolWidthDots(int version, int moduleSize) const;
// 估算 QR 符号宽度(点)。
//
// version
// 详见方法说明 / 参数含义见用法示例。
// moduleSize
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `int`。

OpenCashDrawer

打开钱箱。

语法

bool OpenCashDrawer(const std::shared_ptr<IPrinterConnection>& connection, int drawerIndex);
// 打开钱箱。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// drawerIndex
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

Beep

蜂鸣。

语法

bool Beep(const std::shared_ptr<IPrinterConnection>& connection, int count = 1, int duration = 100);
// 蜂鸣。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// count
// 详见方法说明 / 参数含义见用法示例。
// duration
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SelfTest

打印自检页。

语法

bool SelfTest(const std::shared_ptr<IPrinterConnection>& connection);
// 打印自检页。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SendCommand

发送原始 ESC/POS / JPL 字节。

语法

bool SendCommand(const std::shared_ptr<IPrinterConnection>& connection, const ByteBuffer& command);
// 发送原始 ESC/POS / JPL 字节。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// command
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintRasterImageFromPixels

光栅图打印(ARGB 像素,GS v 0)。

语法

bool PrintRasterImageFromPixels(const std::shared_ptr<IPrinterConnection>& connection, const int* pixels, int width, int height, int targetWidth, int targetHeight = 0, int compressionMode = PrinterConstants::RasterCompressionAuto);
// 光栅图打印(ARGB 像素,GS v 0)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// pixels
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// targetWidth
// 详见方法说明 / 参数含义见用法示例。
// targetHeight
// 详见方法说明 / 参数含义见用法示例。
// compressionMode
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintRasterImageFromFile

从文件打印光栅图(WIC 解码)。

语法

bool PrintRasterImageFromFile(const std::shared_ptr<IPrinterConnection>& connection, const std::string& path);
// 从文件打印光栅图(WIC 解码)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// path
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintRasterImageFromFile

从文件打印光栅图(WIC 解码)。

语法

bool PrintRasterImageFromFile(const std::shared_ptr<IPrinterConnection>& connection, const std::string& path, int targetWidth, int targetHeight, int compressionMode);
// 从文件打印光栅图(WIC 解码)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// path
// 详见方法说明 / 参数含义见用法示例。
// targetWidth
// 详见方法说明 / 参数含义见用法示例。
// targetHeight
// 详见方法说明 / 参数含义见用法示例。
// compressionMode
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintRasterImageFromData

从内存数据打印光栅图。

语法

bool PrintRasterImageFromData(const std::shared_ptr<IPrinterConnection>& connection, const uint8_t* data, size_t size);
// 从内存数据打印光栅图。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// size
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintRasterImageFromData

从内存数据打印光栅图。

语法

bool PrintRasterImageFromData(const std::shared_ptr<IPrinterConnection>& connection, const uint8_t* data, size_t size, int targetWidth, int targetHeight, int compressionMode);
// 从内存数据打印光栅图。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// size
// 详见方法说明 / 参数含义见用法示例。
// targetWidth
// 详见方法说明 / 参数含义见用法示例。
// targetHeight
// 详见方法说明 / 参数含义见用法示例。
// compressionMode
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintRasterImageFromData

从内存数据打印光栅图。

语法

bool PrintRasterImageFromData(const std::shared_ptr<IPrinterConnection>& connection, const std::vector<uint8_t>& data);
// 从内存数据打印光栅图。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintRasterImageFromData

从内存数据打印光栅图。

语法

bool PrintRasterImageFromData(const std::shared_ptr<IPrinterConnection>& connection, const std::vector<uint8_t>& data, int targetWidth, int targetHeight, int compressionMode);
// 从内存数据打印光栅图。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// targetWidth
// 详见方法说明 / 参数含义见用法示例。
// targetHeight
// 详见方法说明 / 参数含义见用法示例。
// compressionMode
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

页模式功能

SelectPageMode

进入页模式。

语法

bool SelectPageMode(const std::shared_ptr<IPrinterConnection>& connection);
// 进入页模式。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SelectPageModeEx

进入页模式并设置区域/单位。

语法

bool SelectPageModeEx(const std::shared_ptr<IPrinterConnection>& connection);
// 进入页模式并设置区域/单位。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SelectPageModeEx

进入页模式并设置区域/单位。

语法

bool SelectPageModeEx(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int width, int height);
// 进入页模式并设置区域/单位。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SelectPageModeEx

进入页模式并设置区域/单位。

语法

bool SelectPageModeEx(const std::shared_ptr<IPrinterConnection>& connection, int hu, int vu, int x, int y, int w, int h);
// 进入页模式并设置区域/单位。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// hu
// 详见方法说明 / 参数含义见用法示例。
// vu
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// w
// 详见方法说明 / 参数含义见用法示例。
// h
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

ExitPageMode

退出页模式。

语法

bool ExitPageMode(const std::shared_ptr<IPrinterConnection>& connection);
// 退出页模式。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PagePrintPage

打印页模式缓冲。

语法

bool PagePrintPage(const std::shared_ptr<IPrinterConnection>& connection);
// 打印页模式缓冲。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

CancelPrintDataInPageMode

取消页模式数据。

语法

bool CancelPrintDataInPageMode(const std::shared_ptr<IPrinterConnection>& connection);
// 取消页模式数据。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PageClearPage

清空页模式缓冲。

语法

bool PageClearPage(const std::shared_ptr<IPrinterConnection>& connection);
// 清空页模式缓冲。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetMovementUnits

设置运动单位。

语法

bool SetMovementUnits(const std::shared_ptr<IPrinterConnection>& connection, int x, int y);
// 设置运动单位。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetPrintAreaInPageMode

设置页模式打印区域。

语法

bool SetPrintAreaInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int width, int height);
// 设置页模式打印区域。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetPageModePrintDirection

设置页模式打印方向。

语法

bool SetPageModePrintDirection(const std::shared_ptr<IPrinterConnection>& connection, int direction);
// 设置页模式打印方向。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// direction
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawTextInPageMode

页模式绘制文本。

语法

bool DrawTextInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& text);
// 页模式绘制文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawTextUtf8InPageMode

页模式 UTF-8 文本。

语法

bool DrawTextUtf8InPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& text);
// 页模式 UTF-8 文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawTextGbkInPageMode

页模式 GBK 文本。

语法

bool DrawTextGbkInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& text);
// 页模式 GBK 文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawTextCenteredInPageMode

页模式居中文本。

语法

bool DrawTextCenteredInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int pageWidth, int y, const std::string& text, int charWidthDots = 12);
// 页模式居中文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// pageWidth
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// charWidthDots
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawTextRightInPageMode

页模式右对齐文本。

语法

bool DrawTextRightInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int pageWidth, int y, const std::string& text, int charWidthDots = 12);
// 页模式右对齐文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// pageWidth
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// charWidthDots
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawTextLineLeftRightInPageMode

页模式左右分列文本。

语法

bool DrawTextLineLeftRightInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int pageWidth, int y, const std::string& left, const std::string& right, int charWidthDots = 12);
// 页模式左右分列文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// pageWidth
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// left
// 详见方法说明 / 参数含义见用法示例。
// right
// 详见方法说明 / 参数含义见用法示例。
// charWidthDots
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawBarcodeInPageMode

页模式条码。

语法

bool DrawBarcodeInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int type, const std::string& data, int hriPos, int height, int width);
// 页模式条码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// type
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// hriPos
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawBarcodeInPageModeWithCenteredHri

页模式条码(HRI 居中)。

语法

bool DrawBarcodeInPageModeWithCenteredHri(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int type, const std::string& data, int height, int width, int hriGapDots);
// 页模式条码(HRI 居中)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// type
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// hriGapDots
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawQrCodeInPageMode

页模式二维码。

语法

bool DrawQrCodeInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int version, int eccLevel, const std::string& data);
// 页模式二维码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// version
// 详见方法说明 / 参数含义见用法示例。
// eccLevel
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawLineInPageMode

页模式画线。

语法

bool DrawLineInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x1, int y1, int x2, int y2, int lineType = 1);
// 页模式画线。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x1
// 详见方法说明 / 参数含义见用法示例。
// y1
// 详见方法说明 / 参数含义见用法示例。
// x2
// 详见方法说明 / 参数含义见用法示例。
// y2
// 详见方法说明 / 参数含义见用法示例。
// lineType
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawRectangleInPageMode

页模式矩形。

语法

bool DrawRectangleInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int mode, int x, int y, int width, int height);
// 页模式矩形。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// mode
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

EstimateCode128WidthDots

估算 Code128 宽度。

语法

int EstimateCode128WidthDots(const std::string& data, int moduleWidth) const;
// 估算 Code128 宽度。
//
// data
// 详见方法说明 / 参数含义见用法示例。
// moduleWidth
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `int`。

EstimateTextWidthDots

估算文本宽度。

语法

int EstimateTextWidthDots(const std::string& text, int charWidthDots = 12) const;
// 估算文本宽度。
//
// text
// 详见方法说明 / 参数含义见用法示例。
// charWidthDots
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 返回 `int`。

标签打印功能

EnableLabelMode

进入标签(JPL)模式。

语法

bool EnableLabelMode(const std::shared_ptr<IPrinterConnection>& connection);
// 进入标签(JPL)模式。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DisableLabelMode

退出标签模式。

语法

bool DisableLabelMode(const std::shared_ptr<IPrinterConnection>& connection);
// 退出标签模式。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

LabelBackPaper

标签回纸到打印位置。

语法

bool LabelBackPaper(const std::shared_ptr<IPrinterConnection>& connection);
// 标签回纸到打印位置。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

LabelPageBegin

开始标签页布局。

语法

bool LabelPageBegin(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int width, int height, int rotation);
// 开始标签页布局。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// rotation
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

LabelPagePrint

打印标签页(可指定份数)。

语法

bool LabelPagePrint(const std::shared_ptr<IPrinterConnection>& connection, int printNum = 1);
// 打印标签页(可指定份数)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// printNum
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelText

标签文本。

语法

bool PrintLabelText(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text, int x, int y);
// 标签文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelText

标签文本。

语法

bool PrintLabelText(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text, int x, int y, int fontHeight);
// 标签文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// fontHeight
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelText

标签文本。

语法

bool PrintLabelText(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text, int x, int y, int fontHeight, int fontType);
// 标签文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// fontHeight
// 详见方法说明 / 参数含义见用法示例。
// fontType
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelTextUtf8

标签 UTF-8 文本。

语法

bool PrintLabelTextUtf8(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text, int x, int y);
// 标签 UTF-8 文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelTextGbk

标签 GBK 文本。

语法

bool PrintLabelTextGbk(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text, int x, int y);
// 标签 GBK 文本。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// text
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelBarcode

标签一维条码。

语法

bool PrintLabelBarcode(const std::shared_ptr<IPrinterConnection>& connection, int type, const std::string& data, int x, int y, int height, int unitWidth);
// 标签一维条码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// type
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// unitWidth
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelBarcode

标签一维条码。

语法

bool PrintLabelBarcode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int type, int height, int unitWidth, int rotate, const std::string& data);
// 标签一维条码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// type
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// unitWidth
// 详见方法说明 / 参数含义见用法示例。
// rotate
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelQrCode

标签二维码。

语法

bool PrintLabelQrCode(const std::shared_ptr<IPrinterConnection>& connection, const std::string& data, int x, int y);
// 标签二维码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelQrCode

标签二维码。

语法

bool PrintLabelQrCode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int version, int eccLevel, int unitWidth, int rotate, const std::string& data);
// 标签二维码。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// version
// 详见方法说明 / 参数含义见用法示例。
// eccLevel
// 详见方法说明 / 参数含义见用法示例。
// unitWidth
// 详见方法说明 / 参数含义见用法示例。
// rotate
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelPdf417Code

标签 PDF417。

语法

bool PrintLabelPdf417Code(const std::shared_ptr<IPrinterConnection>& connection, const std::string& data, int x, int y);
// 标签 PDF417。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelPdf417Code

标签 PDF417。

语法

bool PrintLabelPdf417Code(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int colNum, int eccLevel, int lwRatio, int unitWidth, int rotate, const std::string& data);
// 标签 PDF417。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// colNum
// 详见方法说明 / 参数含义见用法示例。
// eccLevel
// 详见方法说明 / 参数含义见用法示例。
// lwRatio
// 详见方法说明 / 参数含义见用法示例。
// unitWidth
// 详见方法说明 / 参数含义见用法示例。
// rotate
// 详见方法说明 / 参数含义见用法示例。
// data
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelLine

标签线段。

语法

bool PrintLabelLine(const std::shared_ptr<IPrinterConnection>& connection, int startX, int startY, int endX, int endY);
// 标签线段。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// startX
// 详见方法说明 / 参数含义见用法示例。
// startY
// 详见方法说明 / 参数含义见用法示例。
// endX
// 详见方法说明 / 参数含义见用法示例。
// endY
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

PrintLabelRectangle

标签矩形框。

语法

bool PrintLabelRectangle(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int width, int height);
// 标签矩形框。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

SetLabelBarcodeTextPosition

标签条码可读文字位置。

语法

bool SetLabelBarcodeTextPosition(const std::shared_ptr<IPrinterConnection>& connection, int position);
// 标签条码可读文字位置。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// position
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawLabelImageFromFile

标签图片(文件)。

语法

bool DrawLabelImageFromFile(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& imagePath);
// 标签图片(文件)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// imagePath
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawLabelImageFromData

标签图片(内存数据)。

语法

bool DrawLabelImageFromData(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const uint8_t* imageData, size_t imageSize);
// 标签图片(内存数据)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// imageData
// 详见方法说明 / 参数含义见用法示例。
// imageSize
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawLabelImageFromData

标签图片(内存数据)。

语法

bool DrawLabelImageFromData(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::vector<uint8_t>& imageData);
// 标签图片(内存数据)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// imageData
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawLabelImageFromPixels

标签图片(ARGB 像素)。

语法

bool DrawLabelImageFromPixels(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const int* pixels, int width, int height);
// 标签图片(ARGB 像素)。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// pixels
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawLabelImageAdvanced

标签图片高级绘制。

语法

bool DrawLabelImageAdvanced(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const int* pixels, int width, int height, int showType);
// 标签图片高级绘制。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// x
// 详见方法说明 / 参数含义见用法示例。
// y
// 详见方法说明 / 参数含义见用法示例。
// pixels
// 详见方法说明 / 参数含义见用法示例。
// width
// 详见方法说明 / 参数含义见用法示例。
// height
// 详见方法说明 / 参数含义见用法示例。
// showType
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

DrawLabelBox

标签实心框。

语法

bool DrawLabelBox(const std::shared_ptr<IPrinterConnection>& connection, int left, int top, int right, int bottom, int color);
// 标签实心框。
//
// connection
// 详见方法说明 / 参数含义见用法示例。
// left
// 详见方法说明 / 参数含义见用法示例。
// top
// 详见方法说明 / 参数含义见用法示例。
// right
// 详见方法说明 / 参数含义见用法示例。
// bottom
// 详见方法说明 / 参数含义见用法示例。
// color
// 详见方法说明 / 参数含义见用法示例。
// 返回值
// 指令写入成功返回 true,否则返回 false。

备注

  1. 标准模式 / 页模式 / 标签模式请勿随意混用;切换时先完成当前模式收尾。
  2. 纸宽:58mm 有效打印约 384 点,80mm 约 576 点(PaperWidth58Mm / PaperWidth80Mm)。
  3. FeedPaper:C++ 为点数;C# 重载 FeedPaper(lines) 语义不同,移植时注意。
  4. Android 专属 API(权限、CommunicationManager、部分监听器)在 C++ 中不提供。
  5. 未实现 API 的完整占位说明见下文「暂未实现 API」章节与 Android_API覆盖对照.md。

Windows / C++ 额外 API

暂未实现 API(对齐 Android 1.6.3 占位)

以下方法在 Android / Windows C# 中存在,当前 C++ SDK 尚未提供封装。
章节保留是为了与四份 Android PDF 手册一一对应;签名为规划中的 C++ 形式。
状态标记:❌ 暂未实现

目录(暂未实现)


端口 / 连接功能(暂未实现)

ConnectNetworkPrinterAsync

状态:❌ 暂未实现(Android: connectNetworkPrinterAsync)

异步连接网络打印机(推荐使用,自动在后台线程执行)

规划语法(尚未提供)

void ConnectNetworkPrinterAsync(const std::string& ip, int port, /* callback */);

临时替代: 请使用同步 ConnectNetworkPrinter,并在 UI 中自行放到工作线程。

打印机状态功能(暂未实现)

ClearPrinterBuffer

状态:❌ 暂未实现(Android: clearPrinterBuffer)

清除打印机缓冲区

规划语法(尚未提供)

bool ClearPrinterBuffer(const std::shared_ptr<IPrinterConnection>& connection);

临时替代: 可用 SendCommand 发送 CAN(0x18)等指令临时替代。

CancelPrint

状态:❌ 暂未实现(Android: cancelPrint)

取消打印

规划语法(尚未提供)

bool CancelPrint(const std::shared_ptr<IPrinterConnection>& connection);

临时替代: 可用 SendCommand 发送取消类指令临时替代。

票据打印功能(暂未实现)

ClearBuffer

状态:❌ 暂未实现(Android: clearBuffer)

清除缓冲区

规划语法(尚未提供)

bool ClearBuffer(const std::shared_ptr<IPrinterConnection>& connection);

临时替代: 同 ClearPrinterBuffer;可用 SendCommand(0x18)。

CancelPrintCmd

状态:❌ 暂未实现(Android: cancelPrintCmd)

取消打印

规划语法(尚未提供)

bool CancelPrintCmd(const std::shared_ptr<IPrinterConnection>& connection);

临时替代: 同 CancelPrint。

PrintTextInBIG5

状态:❌ 暂未实现(Android: printTextInBIG5)

BIG5编码打印文本

规划语法(尚未提供)

bool PrintTextInBIG5(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text);

临时替代: 可先 SetDoubleByteEncoding(..., DoubleByteEncodingBig5),再自行转码后 SendCommand / 原始字节写出。

PrintTextInShiftJis

状态:❌ 暂未实现(Android: printTextInShiftJIS)

Shift_JIS编码打印文本

规划语法(尚未提供)

bool PrintTextInShiftJis(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text);

临时替代: 可先 SetDoubleByteEncoding(..., DoubleByteEncodingShiftJis),再自行转码写出。

PrintTextInEucKr

状态:❌ 暂未实现(Android: printTextInEUCKR)

EUC-KR编码打印文本

规划语法(尚未提供)

bool PrintTextInEucKr(const std::shared_ptr<IPrinterConnection>& connection, const std::string& text);

临时替代: 可先 SetDoubleByteEncoding(..., DoubleByteEncodingEucKr),再自行转码写出。

SetCharSpacing

状态:❌ 暂未实现(Android: setCharSpacing)

设置字符间距

规划语法(尚未提供)

bool SetCharSpacing(const std::shared_ptr<IPrinterConnection>& connection, int spacing);

临时替代: 可用 SendCommand 发送 ESC/POS 字间距指令。

ReverseFeed

状态:❌ 暂未实现(Android: reverseFeed)

反向走纸(ESC e)

规划语法(尚未提供)

bool ReverseFeed(const std::shared_ptr<IPrinterConnection>& connection, int lines);

临时替代: 可用 SendCommand 发送 ESC e n。

HorizontalTab

状态:❌ 暂未实现(Android: horizontalTab)

水平制表(HT)

规划语法(尚未提供)

bool HorizontalTab(const std::shared_ptr<IPrinterConnection>& connection);

临时替代: 可用 SendCommand 发送 HT(0x09)。

SetTabPositions

状态:❌ 暂未实现(Android: setTabPositions)

设置水平制表位(ESC D)

规划语法(尚未提供)

bool SetTabPositions(const std::shared_ptr<IPrinterConnection>& connection, const std::vector<int>& positions);

临时替代: 可用 SendCommand 发送 ESC D。

SetPrintMode

状态:❌ 暂未实现(Android: setPrintMode)

设置打印模式

规划语法(尚未提供)

bool SetPrintMode(const std::shared_ptr<IPrinterConnection>& connection, int mode);

临时替代: 可用 SendCommand 发送 ESC ! n,或组合 SetBold/SetTextScale 等。

SetCharacterSet

状态:❌ 暂未实现(Android: setCharacterSet)

设置国际字符集

规划语法(尚未提供)

bool SetCharacterSet(const std::shared_ptr<IPrinterConnection>& connection, int n);

临时替代: 可用 SendCommand 发送字符集选择指令。

SetCharacterCodepage

状态:❌ 暂未实现(Android: setCharacterCodepage)

设置字符代码页

规划语法(尚未提供)

bool SetCharacterCodepage(const std::shared_ptr<IPrinterConnection>& connection, int n);

临时替代: 可用 SendCommand 发送代码页选择指令。

SetAsciiTextFontType

状态:❌ 暂未实现(Android: setAsciiTextFontType)

设置ASCII文本字体类型

规划语法(尚未提供)

bool SetAsciiTextFontType(const std::shared_ptr<IPrinterConnection>& connection, int fontType);

临时替代: 可用 SendCommand 发送字体选择指令。

SetTextUpsideDown

状态:❌ 暂未实现(Android: setTextUpsideDown)

设置文本倒置

规划语法(尚未提供)

bool SetTextUpsideDown(const std::shared_ptr<IPrinterConnection>& connection, bool enable);

临时替代: 可用 SendCommand 发送倒置打印指令。

SetTextRotate

状态:❌ 暂未实现(Android: setTextRotate)

设置文本旋转90度

规划语法(尚未提供)

bool SetTextRotate(const std::shared_ptr<IPrinterConnection>& connection, bool enable);

临时替代: 可用 SendCommand 发送旋转打印指令。

SetTextLineHeight

状态:❌ 暂未实现(Android: setTextLineHeight)

设置文本行高

规划语法(尚未提供)

bool SetTextLineHeight(const std::shared_ptr<IPrinterConnection>& connection, int height);

临时替代: 可尝试 SetLineSpacing,或 SendCommand。

SetAsciiTextCharRightSpacing

状态:❌ 暂未实现(Android: setAsciiTextCharRightSpacing)

设置ASCII字符右间距

规划语法(尚未提供)

bool SetAsciiTextCharRightSpacing(const std::shared_ptr<IPrinterConnection>& connection, int spacing);

临时替代: 可用 SendCommand。

SetKanjiTextCharSpacing

状态:❌ 暂未实现(Android: setKanjiTextCharSpacing)

设置汉字字符左右间距

规划语法(尚未提供)

bool SetKanjiTextCharSpacing(const std::shared_ptr<IPrinterConnection>& connection, int spacing);

临时替代: 可用 SendCommand。

SetPrintPosition

状态:❌ 暂未实现(Android: setPrintPosition)

设置打印起始位置

规划语法(尚未提供)

bool SetPrintPosition(const std::shared_ptr<IPrinterConnection>& connection, int position);

临时替代: 可用 SendCommand 发送绝对打印位置指令。

SetHorizontalAbsolutePrintPosition

状态:❌ 暂未实现(Android: setHorizontalAbsolutePrintPosition)

设置水平方向绝对打印位置

规划语法(尚未提供)

bool SetHorizontalAbsolutePrintPosition(const std::shared_ptr<IPrinterConnection>& connection, int n);

临时替代: 可用 SendCommand(ESC $)。

SetHorizontalRelativePrintPosition

状态:❌ 暂未实现(Android: setHorizontalRelativePrintPosition)

设置水平方向相对打印位置

规划语法(尚未提供)

bool SetHorizontalRelativePrintPosition(const std::shared_ptr<IPrinterConnection>& connection, int n);

临时替代: 可用 SendCommand(ESC \)。

SetVerticalAbsolutePrintPosition

状态:❌ 暂未实现(Android: setVerticalAbsolutePrintPosition)

设置垂直方向绝对打印位置

规划语法(尚未提供)

bool SetVerticalAbsolutePrintPosition(const std::shared_ptr<IPrinterConnection>& connection, int n);

临时替代: 页模式下可用坐标绘制 API;标准模式请 SendCommand。

SetVerticalRelativePrintPosition

状态:❌ 暂未实现(Android: setVerticalRelativePrintPosition)

设置垂直方向相对打印位置

规划语法(尚未提供)

bool SetVerticalRelativePrintPosition(const std::shared_ptr<IPrinterConnection>& connection, int n);

临时替代: 页模式下可用坐标绘制 API;标准模式请 SendCommand。

SetBarcodeReadableTextFontType

状态:❌ 暂未实现(Android: setBarcodeReadableTextFontType)

设置条码可识别字符的字体类型

规划语法(尚未提供)

bool SetBarcodeReadableTextFontType(const std::shared_ptr<IPrinterConnection>& connection, int fontType);

临时替代: 可用 SendCommand 设置 HRI 字体。

SetBarcodeReadableTextPosition

状态:❌ 暂未实现(Android: setBarcodeReadableTextPosition)

设置条码可识别字符的位置

规划语法(尚未提供)

bool SetBarcodeReadableTextPosition(const std::shared_ptr<IPrinterConnection>& connection, int pos);

临时替代: 请使用已实现的 SetBarcodeHriPosition。

PrintHorizontalLine

状态:❌ 暂未实现(Android: printHorizontalLine)

打印水平线

规划语法(尚未提供)

bool PrintHorizontalLine(const std::shared_ptr<IPrinterConnection>& connection, int start, int end);

临时替代: 可用文本打印 -/─,或 SendCommand。

FixedHorizontalLine

状态:❌ 暂未实现(Android: fixedHorizontalLine)

固定水平线

规划语法(尚未提供)

bool FixedHorizontalLine(const std::shared_ptr<IPrinterConnection>& connection);

临时替代: 可用文本打印分隔线替代。

PrintAndFeedDots

状态:❌ 暂未实现(Android: printAndFeedDots)

打印并进点

规划语法(尚未提供)

bool PrintAndFeedDots(const std::shared_ptr<IPrinterConnection>& connection, int dots);

临时替代: C++ 请直接使用 FeedPaper(connection, dots)(ESC J,单位为点)。

页模式功能(暂未实现)

DrawRectangleBorderInPageMode

状态:❌ 暂未实现(Android: drawRectangleBorderInPageMode)

在页模式下绘制矩形边框

规划语法(尚未提供)

bool DrawRectangleBorderInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int width, int height);

临时替代: 可尝试已实现的 DrawRectangleInPageMode(connection, mode, ...)(边框模式)。

DrawFilledRectangleInPageMode

状态:❌ 暂未实现(Android: drawFilledRectangleInPageMode)

在页模式下绘制实心矩形

规划语法(尚未提供)

bool DrawFilledRectangleInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int width, int height);

临时替代: 可尝试已实现的 DrawRectangleInPageMode(connection, mode, ...)(填充模式)。

PrintNvBitmap

状态:❌ 暂未实现(Android: printNvBitmap)

标准模式:打印 NV 位图(打印机内存 Logo)

规划语法(尚未提供)

bool PrintNvBitmap(const std::shared_ptr<IPrinterConnection>& connection, int n, int mode);

临时替代: 暂无封装;可用 SendCommand 发送 FS p。

DrawNvBitmapInPageMode

状态:❌ 暂未实现(Android: drawNvBitmapInPageMode)

页模式:在指定坐标打印 NV 位图

规划语法(尚未提供)

bool DrawNvBitmapInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, int n, int mode);

临时替代: 暂无封装;可用 SendCommand。

DrawNvBitmapCenteredInPageMode

状态:❌ 暂未实现(Android: drawNvBitmapCenteredInPageMode)

页模式:水平居中打印 NV 位图(需已知位图宽度用于算 x)

规划语法(尚未提供)

bool DrawNvBitmapCenteredInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int pageWidth, int y, int n, int mode);

临时替代: 暂无封装;可用 SendCommand。

DrawTextBIG5InPageMode

状态:❌ 暂未实现(Android: drawTextBIG5InPageMode)

在页模式下绘制文本(BIG5)

规划语法(尚未提供)

bool DrawTextBIG5InPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& text);

临时替代: 可设 BIG5 编码后用 DrawTextInPageMode / 自编码 SendCommand。

DrawTextShiftJisInPageMode

状态:❌ 暂未实现(Android: drawTextShiftJISInPageMode)

在页模式下绘制文本(ShiftJIS)

规划语法(尚未提供)

bool DrawTextShiftJisInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& text);

临时替代: 可设 Shift-JIS 编码后自行绘制/发送。

DrawTextEucKrInPageMode

状态:❌ 暂未实现(Android: drawTextEUCKRInPageMode)

在页模式下绘制文本(EUCKR)

规划语法(尚未提供)

bool DrawTextEucKrInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& text);

临时替代: 可设 EUC-KR 编码后自行绘制/发送。

DrawImageFromFileInPageMode

状态:❌ 暂未实现(Android: drawImageFromFileInPageMode)

在页模式下绘制图片(从文件)

规划语法(尚未提供)

bool DrawImageFromFileInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const std::string& filePath, int width, int height);

临时替代: 可先解码图片,再在标准模式用 PrintRasterImageFromFile,或标签模式 DrawLabelImageFromFile。

DrawImageFromDataInPageMode

状态:❌ 暂未实现(Android: drawImageFromDataInPageMode)

在页模式下绘制图片(从数据)

规划语法(尚未提供)

bool DrawImageFromDataInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const uint8_t* data, size_t size, int width, int height);

临时替代: 可先用 PrintRasterImageFromData(标准模式)替代。

DrawImageFromPixelsInPageMode

状态:❌ 暂未实现(Android: drawImageFromPixelsInPageMode)

在页模式下绘制图片(从像素)

规划语法(尚未提供)

bool DrawImageFromPixelsInPageMode(const std::shared_ptr<IPrinterConnection>& connection, int x, int y, const int* pixels, int width, int height, int targetWidth, int targetHeight);

临时替代: 可先用 PrintRasterImageFromPixels(标准模式)替代。

Android 平台专属 API(不移植)

下列 API 依赖 Android 权限/系统能力,Windows C++ 刻意不提供。

OnRequestPermissionsResult

状态:🚫 不移植(Android: onRequestPermissionsResult)

转发 Android 权限回调。

说明: Windows 无运行时权限模型,不移植。

GetCommunicationManager

状态:🚫 不移植(Android: getCommunicationManager)

获取内部通信管理器。

说明: Windows C++ 不对外暴露,不移植。

HasUsbPermission

状态:🚫 不移植(Android: hasUsbPermission)

是否已有 USB 权限。

说明: Windows 无 USB 运行时权限 API,不移植。

RequestUsbPermission

状态:🚫 不移植(Android: requestUsbPermission)

请求 USB 权限。

说明: Windows 无 USB 运行时权限 API,不移植。

AddBluetoothListener

状态:🚫 不移植(Android: addBluetoothListener)

添加蓝牙设备监听器。

说明: 请用 DiscoverBluetoothDevices / GetBluetoothPairedDevices 主动枚举。

RemoveBluetoothListener

状态:🚫 不移植(Android: removeBluetoothListener)

移除蓝牙设备监听器。

说明: C++ 无监听器模型,不移植。