Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/24jieqi/react-native-printer-sunmi
🖨 基于商米内置打印机 SDK 封装的 React Native 模块
https://github.com/24jieqi/react-native-printer-sunmi
native-module printer react-native sunmi
Last synced: about 1 month ago
JSON representation
🖨 基于商米内置打印机 SDK 封装的 React Native 模块
- Host: GitHub
- URL: https://github.com/24jieqi/react-native-printer-sunmi
- Owner: 24jieqi
- License: mit
- Created: 2021-08-05T03:50:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-23T02:12:56.000Z (11 months ago)
- Last Synced: 2024-11-07T09:46:01.304Z (about 2 months ago)
- Topics: native-module, printer, react-native, sunmi
- Language: Java
- Homepage:
- Size: 1.3 MB
- Stars: 12
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# react-native-printer-sunmi `v2`
> 基于商米新版 `Printx` SDK 实现的打印原生模块
### v1.x 基于旧版 SDK 的实现仍然可用,使用方式见[文档](./README.old.md)
## 安装
```sh
npm install react-native-printer-sunmi
```## Usage
```js
import PinterSunmi from 'react-native-printer-sunmi';// ...
async function print() {
await PrinterSunmi.connect();
PrinterSunmi.enableTransMode(true);
PrinterSunmi.initLine({ align: 'CENTER' });
PrinterSunmi.printText('测试小票打印', { textSize: 32, bold: true });
PrinterSunmi.addText('购物列表\n', { bold: true });
PrinterSunmi.initLine();
PrinterSunmi.addText('小计:3件\n');
PrinterSunmi.printTexts([
{ text: '商品', span: 2 },
{ text: '价格', span: 1, align: 'RIGHT' },
{ text: '数量', span: 1, align: 'RIGHT' },
]);
PrinterSunmi.printTexts([
{ text: '鲜榴莲', span: 2 },
{ text: '22', span: 1, align: 'RIGHT' },
{ text: 'X3', span: 1, align: 'RIGHT' },
]);
PrinterSunmi.printDividingLine('EMPTY', 24);
PrinterSunmi.printDividingLine('SOLID', 2);
PrinterSunmi.printDividingLine('EMPTY', 24);
PrinterSunmi.printTrans();
}
```## API
> ⚠️ 钱箱控制接口&LCD 客显控制接口暂未测试
### connect: () => Promise`` 连接/获取打印机
### disconnect: () => void 断开连接/释放 SDK
### watchError(errorHandler: (payload: PrintErrorMessage) => void) => () => void 异常监听
### getInfo: () => PrinterInfo 获取打印机信息
### 钱箱控制接口
#### openCashDrawer: () => void 开启钱箱
#### isCashDrawerOpen: () => boolean 获取钱箱状态
### LCD 客显控制接口
#### lcdConfig: (command: LCDCommod) => void 控制客显屏的状态
#### lcdShowText: (content: string, config: LCDShowTextConfig) => void 显示指定大小的文本内容
#### lcdShowTexts: (texts: LCDShowTextsItem[]) => void 显示多行文本内容
#### lcdShowBitmap: (uri: string) => void 显示位图图像
#### lcdShowDigital: (digital: string) => void 显示价格内容
> 其余用作打印的 `API`同[商米内置打印机服务文档](https://developer.sunmi.com/docs/zh-CN/xeghjk491/maceghjk502),更多示例见[example](./example/src/App.tsx)
### 接下来
- [x] 打印文件接口
- [x] 指令集打印
- [x] 钱箱控制
- [x] LCD 客显控制接口
- [ ] 配置式 API## License
MIT
---