react-native-harvard-inner-printer
(React native plugin Referring the Harvard by Advan printer document and demos)
Caution: this is not the official project. I share it because I am working on this device but no any official support in react-native It's welcome to ask any question about the usage,problems or feature required, I will support ASAP.
Installation:
Step 1.
install with npm: Check in NPM
npm install react-native-harvard-harvard-printer --save
or you may need to install via the clone address directly:
Step 2:
Links this plugin to your project.
react-native link react-native-harvard-inner-printer
or you may need to link manually
- modify settings.gradle
include ':react-native-harvard-inner-printer'
project(':react-native-harvard-inner-printer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-harvard-inner-printer/android')
- modify app/build.gradle,add dependenceie:
compile project(':react-native-harvard-inner-printer')
- adds package references to MainPackage.java
import com.harvard.innerprinter.HarvardInnerPrinterPackage;
...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new HarvardInnerPrinterPackage()
);
}
Step 3:
refer in the javascript:
import HarvardInnerPrinter from 'react-native-harvard-inner-printer';
Usage & Demo:
See examples folder of the source code that you can find a simple example of printing receipt. // TODO
API
Example
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import HarvardInnerPrinter from 'react-native-harvard-inner-printer';
class PrinterComponent extends Component {
_printData() {
const ALIGN_CENTER = 0;
const ALIGN_LEFT = 1;
const ALIGN_RIGHT = 2;
const SHOW_TEXT_BARCODE = true;
const HIDE_TEXT_BARCODE = false;
result = await HarvardInnerPrinter.printImage(logo, ALIGN_CENTER);
result = await HarvardInnerPrinter.setFontSize(40);
result = await HarvardInnerPrinter.PrintText("STRUK BELANJA", ALIGN_CENTER);
result = await HarvardInnerPrinter.setFontSize(30);
result = await HarvardInnerPrinter.PrintText("TOKO ANDROID BERKEMBANG", ALIGN_CENTER);
result = await HarvardInnerPrinter.PrintOriginalText("================================");
result = await HarvardInnerPrinter.setFontSize(25);
result = await HarvardInnerPrinter.setBold(1);
result = await HarvardInnerPrinter.PrintColumnText(["SEMEN NUSANTARA","1","50.000"],[18, 5, 11], [ ALIGN_LEFT, ALIGN_CENTER, ALIGN_CENTER]);
result = await HarvardInnerPrinter.PrintColumnText(["PAKU BAJA","1","1.500"],[18, 5, 11], [ ALIGN_LEFT, ALIGN_CENTER, ALIGN_CENTER]);
result = await HarvardInnerPrinter.PrintColumnText(["PASIR MUNTILAN","1","5.000"],[18, 5, 11], [ ALIGN_LEFT, ALIGN_CENTER, ALIGN_CENTER]);
result = await HarvardInnerPrinter.setBold(0);
result = await HarvardInnerPrinter.PrintOriginalText("================================");
result = await HarvardInnerPrinter.printQRCode("http://mkpmobile.com", 100, ALIGN_CENTER);
result = await HarvardInnerPrinter.PrintText(" ", ALIGN_CENTER)
result = await HarvardInnerPrinter.printBarCode("123456", 200,50, ALIGN_CENTER, HIDE_TEXT_BARCODE);
result = await HarvardInnerPrinter.setFontSize(15);
result = await HarvardInnerPrinter.PrintText("MEMBELI BERARTI SETUJU DENGAN", ALIGN_CENTER);
result = await HarvardInnerPrinter.PrintText("SEGALA PERSYARATAN DARI TOKO KAMI", ALIGN_CENTER);
result = await HarvardInnerPrinter.PrintText("BARANG RUSAK TIDAK BERGARANSI", ALIGN_CENTER);
result = await HarvardInnerPrinter.PrintOriginalText("\n\n");
}
render() {
return (
<View>
<Text onPress={()=>{_printData()}}>Print Data</Text>
</View>
)
}
}