react-native-printer-sunmi
Version:
Native Module For Sunmi Printing SDK
105 lines (85 loc) • 2.62 kB
Markdown
1. 基于行配置的打印方式,如果当前行只有一个单元格,内部调用 `service.printOriginalText`,否则内部调用表格打印 `service.printColumnsString`
2. 支持二维码打印,具体配置见示例
3. 支持标签打印
`$ yarn add react-native-printer-sunmi --save`
```javascript
import SunmiPrinter from 'react-native-printer-sunmi'
const content = {
content: [
// 单个文本
{
row: [
{
text: 'something to print',
align: 0,
fontSize: 20,
bold: true
},
]
wrap: 1
},
// 表格打印
{
row: [
{
text: '1',
align: 0,
width: 1
},
{
text: '2',
align: 1,
width: 1
}
],
fontSize: 14,
bold: false,
wrap: 4
},
// 二维码打印
{
data: `HJ_${options.orderId}`,
modulesize: 9,
errorlevel: 1,
wrap: 1,
},
]
}
async function print() {
try{
await SunmiPrinter.connect()
await SunmiPrinter.openPrinter(content, 0)
await SunmiPrinter.disconnect()
console.log('打印完成!')
} catch() {}
}
```
- `PrinterSunmi.DEVICES_NAME`设备标识
- `PrinterSunmi.SUPPORTED` 是否支持打印
> tips:`mode`传入打印模式,`0`正常模式 `1`黑标模式(暂不支持)`2`标签模式
> 使用标签模式之前,需要装入标签纸,并在"设置"=>"内置打印"修改打印模式为 `标签热敏`并点击标签学习后方可正常使用
- `onDisconnect` 打印机断开连接后触发事件(手动断开也会触发)
```js
React.useEffect(() => {
const eventEmitter = new NativeEventEmitter(NativeModules.PrinterSunmi);
const event = eventEmitter.addListener('onDisconnect', () => {
console.log('打印机已断开连接!');
});
return () => {
event.remove();
};
}, []);
```
> 更多使用方式见 [example](https://github.com/hjfruit/react-native-printer-sunmi/tree/main/example)