A Turbo Module wrapper for the Citizen ESC POS Printer SDK.
npm install react-native-citizen-escposprinterA React Native wrapper of the
Citizen ECSPOSPrinter SDK,
supporting the
New Architecture
and classic builds.
The current version embeds these SDKs:
1. CSJAndroidPOSSDK_V212E.zip
1. CSJiOSSwiftSDK_V212E.zip
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.
``tsx
import {
connect,
ESCPOSConst,
searchCitizenPrinters,
} from "react-native-citizen-escposprinter";
const main = async () => {
const results = await searchCitizenPrinters(
ESCPOSConst.CMP_PORT_WiFi,
);
console.info("Found printers:", results);
const printer = await connect(
ESCPOSConst.CMP_PORT_WiFi,
results[0].ipAddress
);
await printer.printText("Hello World!\n");
await printer.cutPaper(ESCPOSConst.CMP_CUT_FULL_PREFEED);
await printer.disconnect();
};
`
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:
1. You have expo-router installedindex.tsx
2. You have new architecture enabled
3. You are using as your entrypoint
When expo-router's own modified entrypoint sees your index.tsx`, it will be
confused and incorrectly overrides some native modules.
USB connections without specified a serial number is supported and tested in the
following environments (see
#7):
1. Android in "old" architecture
2. Android in
New Architecture
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.