capacitor-mk-printer
v1.0.4
Published
MK printer
Maintainers
Readme
Capacitor MK Printer
A Capacitor plugin for MK printer integration.
Installation
npm install capacitor-mk-printer
npx cap syncAPI
listenPrinters()
listenPrinters() => Promise<{ devices: BluetoothDevice[] }>List available printers that can be connected.
Returns: Promise<{ devices: BluetoothDevice[] }>
connectPrinter(...)
connectPrinter(options: { macAddress: string }) => Promise<any>Connect to a printer.
| Param | Type | Description |
| ------------- | ------------------------------------ | ------------------------------ |
| options | { macAddress: string } | MAC address of the printer to connect |
Returns: Promise<any>
getCurrentPrinter()
getCurrentPrinter() => Promise<{ name: string; macAddress: string }>Get information about the currently connected printer.
Returns: Promise<{ name: string; macAddress: string }>
printImage(...)
printImage(options: PrintImageOptions) => Promise<any>Print an image.
| Param | Type | Description |
| ------------- | ------------------------------------------------------------- | -------------------------- |
| options | PrintImageOptions | Image printing options |
Returns: Promise<any>
Interfaces
BluetoothDevice
| Property | Type | Description |
| ----------------- | ------------------- | ---------------------------------- |
| name | string | Device name |
| macAddress | string | Device MAC address |
| type | string | Device type (optional) |
PrintImageOptions
| Property | Type | Description |
|------------------| ------------------- |--------------|
| base64Data | string | image base64 |
Permissions
Android
Add these permissions to your AndroidManifest.xml file:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />iOS
Add these permission descriptions to your Info.plist file:
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This app needs Bluetooth access to connect to printers</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>This app needs Bluetooth access to connect to printers</string>Usage Example
import { MkPrinter } from 'capacitor-mk-printer';
// List available printers
async function scanPrinters() {
try {
const result = await MkPrinter.listenPrinters();
console.log('Available printers:', result.devices);
} catch (error) {
console.error('Error scanning printers:', error);
}
}
// Connect to a printer
async function connect(macAddress: string) {
try {
await MkPrinter.connectPrinter({ macAddress });
console.log('Connected successfully');
} catch (error) {
console.error('Connection failed:', error);
}
}
// Get current printer information
async function getCurrentPrinter() {
try {
const printer = await MkPrinter.getCurrentPrinter();
console.log('Current printer:', printer);
} catch (error) {
console.error('Error getting current printer:', error);
}
}
// Print an image
async function printImage(base64Data: string) {
try {
await MkPrinter.printImage({ base64Data });
console.log('Image printed successfully');
} catch (error) {
console.error('Error printing image:', error);
}
}License
MIT
