react-native-harvard-inner-printer
Version:
modul for harvard by advan
123 lines (89 loc) • 4.21 kB
Markdown
# 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](https://www.npmjs.com/package/react-native-harvard-inner-printer)
```bash
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.
```bash
react-native link react-native-harvard-inner-printer
```
or you may need to link manually
* modify settings.gradle
```javascript
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:
```javascript
compile project(':react-native-harvard-inner-printer')
```
* adds package references to MainPackage.java
```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:
```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
```javascript
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>
)
}
}
```