react-native-citizen-escposprinter
v0.4.1
Published
A Turbo Module wrapper for the Citizen ESC POS Printer SDK.
Downloads
399
Maintainers
Readme
react-native-citizen-escposprinter
A React Native wrapper of the Citizen ECSPOSPrinter SDK, supporting the New Architecture and classic builds.
The current version embeds these SDKs:
Usage
Most of the methods are a simple wrapper of the native SDK. For a complete list of methods and their details, you may refer to the PDF manual inside the Citizen SDK.
import {
connect,
cutPaper,
disconnect,
ESCPOSConst,
printText,
searchCitizenPrinters,
} from "react-native-citizen-escposprinter";
const main = async () => {
const printers = await searchCitizenPrinters(
ESCPOSConst.CMP_PORT_WiFi,
);
console.info("Found printers:", printers);
await connect(printers[0].ipAddress);
await printText("Hello World!\n");
await cutPaper(ESCPOSConst.CMP_CUT_FULL_PREFEED);
await disconnect();
};
⚠️ Known Issues
Error RCTEvents.receiveEvent() is not registered
tl;dr Do not use index.tsx
as your entrypoint, use something like app.tsx
instead.
This error happens when all of the following conditions are met:
- You have
expo-router
installed - You have new architecture enabled
- You are using
index.tsx
as your entrypoint
When expo-router's own modified entrypoint sees your index.tsx
, it will be
confused and incorrectly overrides some native modules.
Partial USB Support
USB connections without specified a serial number is supported and tested in the following environments (see #7):
- Android in "old" architecture
- Android in New Architecture
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
If you use this library at work, consider sponsoring for a first-class technical support.