Security News
The Unpaid Backbone of Open Source: Solo Maintainers Face Increasing Security Demands
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
@tillpos/rn-receipt-printer-utils
Advanced tools
Fork of react-native-printer. A React Native Library to support USB/BLE/Net printer
Originally forked from react-native-thermal-receipt-printer
A React Native Library to connect to thermal printer over network and to send the buffer (data to be printed) to thermal printer.
yarn add @tillpos/rn-receipt-printer-utils
react-native
version >= 0.60, xcode show this errorduplicate symbols for architecture x86_64
that because the .a library uses CocoaAsyncSocket library and Flipper uses it too
Podfile
...
use_native_modules!
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
# add_flipper_pods!
# post_install do |installer|
# flipper_post_install(installer)
# end
...
and comment out code related to Flipper in ios/AppDelegate.m
Printer | Android | IOS |
---|---|---|
USBPrinter | :x: | :negative_squared_cross_mark: |
BLEPrinter | :x: | :x: |
NetPrinter | :heavy_check_mark: | :heavy_check_mark: |
Platform | Framework / lib | Tested |
---|---|---|
Android | React Native | :heavy_check_mark: |
iOS | React Native | :heavy_check_mark: |
To get started with the project, run yarn bootstrap
in the root directory to install the required dependencies for each package:
yarn bootstrap
While developing, you can run the example app to test your changes.
To start the packager:
yarn example start
To run the example app on Android:
yarn example android
To run the example app on iOS:
yarn example ios
To make build
yarn prepare
import {
USBPrinter,
NetPrinter,
BLEPrinter,
} from "@tillpos/rn-receipt-printer-utils";
USBPrinter.printText("sample text");
USBPrinter.printBill("sample bill");
interface INetPrinter {
device_name: string;
host: string;
port: number;
}
Note: get list device for net printers is support scanning in local ip but not recommended
componentDidMount = () => {
NetPrinter.init().then(() => {
this.setState(Object.assign({}, this.state, {printers: [{host: '192.168.10.241', port: 9100}]}))
})
}
_connectPrinter => (host, port) => {
//connect printer
NetPrinter.connectPrinter(host, port).then(
(printer) => this.setState(Object.assign({}, this.state, {currentPrinter: printer})),
error => console.warn(error))
}
printTextTest = () => {
if (this.state.currentPrinter) {
NetPrinter.printText("<C>sample text</C>\n");
}
}
printBillTest = () => {
if(this.state.currentPrinter) {
NetPrinter.printBill("<C>sample bill</C>");
}
}
...
render() {
return (
<View style={styles.container}>
{
this.state.printers.map(printer => (
<TouchableOpacity key={printer.device_id} onPress={(printer) => this._connectPrinter(printer.host, printer.port)}>
{`device_name: ${printer.device_name}, host: ${printer.host}, port: ${printer.port}`}
</TouchableOpacity>
))
}
<TouchableOpacity onPress={() => this.printTextTest()}>
<Text> Print Text </Text>
</TouchableOpacity>
<TouchableOpacity onPress={() => this.printBillTest()}>
<Text> Print Bill Text </Text>
</TouchableOpacity>
</View>
)
}
...
release-it
to publish buildsFAQs
Fork of react-native-printer. A React Native Library to support USB/BLE/Net printer
We found that @tillpos/rn-receipt-printer-utils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.
Security News
A developer is accusing Tencent of violating the GPL by modifying a Python utility and changing its license to BSD, highlighting the importance of copyleft compliance.