react-native-printer-sunmi
Version:
Native Module For Sunmi Printing SDK
173 lines • 5.52 kB
TypeScript
import type { ImageSourcePropType } from 'react-native';
type PrinterInfo = {
/**
* 打印机实时状态
*/
status: string;
/**
* 打印机硬件版本号
*/
id: string;
name: string;
type: string;
paper: string;
/**
* 打印机固件版本号
*/
version: string;
cutter: string;
hot: string;
density: string;
distance: string;
};
type AlignType = 'LEFT' | 'RIGHT' | 'CENTER' | 'DEFAULT';
type RenderColorType = 'BLACK' | 'RED';
type RotateType = 'ROTATE_0' | 'ROTATE_90' | 'ROTATE_180' | 'ROTATE_270';
type HumanReadableType = 'HIDE' | 'POS_ONE' | 'POS_TWO' | 'POS_THREE';
type SymbologyType = 'UPCA' | 'UPCE' | 'EAN13' | 'EAN8' | 'CODE39' | 'ITF' | 'CODABAR' | 'CODE93' | 'CODE128' | 'EAN128' | 'CODE128A' | 'ITF_C' | 'CODE39_S' | 'CODE39_C' | 'EAN13_2' | 'UPCA_2' | 'UPCA_5' | 'EAN13_5' | 'EAN8_2' | 'EAN8_5' | 'UPCE_2' | 'UPCE_5';
type ErrorLevelType = 'L' | 'M' | 'Q' | 'H';
type AlgorithmType = 'BINARIZATION' | 'DITHERING';
type DividingLineType = 'EMPTY' | 'SOLID' | 'DOTTED';
type ShapeStyleType = 'RECT_FILL' | 'RECT_WHITE' | 'RECT_REVERSE' | 'BOX' | 'CIRCLE' | 'OVAL' | 'PATH';
type FileDuplexType = 'SINGLE' | 'DOUBLE_SHORT' | 'DOUBLE_LONG';
type BaseStyle = {
align: AlignType;
width: number;
height: number;
posX: number;
posY: number;
renderColor: RenderColorType;
};
type CanvasBaseStyle = {
width: number;
height: number;
} & Partial<Pick<BaseStyle, 'posX' | 'posY' | 'renderColor'>>;
type BaseTextStyle = {
textSize: number;
textWidthRatio: number;
textHeightRatio: number;
textSpace: number;
bold: boolean;
underline: boolean;
strikeThrough: boolean;
italics: boolean;
invert: boolean;
antiColor: boolean;
font: string;
align: AlignType;
height: number;
width: number;
posX: number;
posY: number;
rotate: RotateType;
};
export type PrintTextStyle = Partial<Omit<BaseTextStyle, 'width' | 'height' | 'posX' | 'posY' | 'rotate'>>;
type BarCodeStyle = {
dotWidth: number;
barHeight: number;
readable: HumanReadableType;
symbology: SymbologyType;
align: AlignType;
height: number;
width: number;
posX: number;
posY: number;
rotate: RotateType;
};
type QrCodeStyle = {
dot: number;
errorLevel: ErrorLevelType;
align: AlignType;
height: number;
width: number;
posX: number;
posY: number;
rotate: RotateType;
};
type BitmapStyle = {
algorithm: AlgorithmType;
value: number;
align: AlignType;
height: number;
width: number;
posX: number;
posY: number;
};
type ShapeStyle = {
style: ShapeStyleType;
height: number;
width: number;
posX: number;
posY: number;
endX: number;
endY: number;
thick: number;
};
type FileStyle = {
copies: number;
duplex: FileDuplexType;
collate: boolean;
rotate: RotateType;
start: number;
end: number;
};
type ColTextItem = {
text: string;
span?: number;
style?: PrintTextStyle;
};
export type PrintErrorMessage = {
method: string;
message: string;
};
export declare enum LCDCommod {
INIT = "INIT",
WAKE = "WAKE",
SLEEP = "SLEEP",
CLEAR = "CLEAR"
}
export type LCDShowTextConfig = {
size: number;
fill: boolean;
};
export type LCDShowTextsItem = {
text: string;
align: number;
};
export type PrinterSunmiType = {
DEVICES_NAME: string;
connect: () => Promise<boolean>;
disconnect: () => void;
getInfo: () => PrinterInfo;
initLine: (option?: Partial<Pick<BaseStyle, 'align' | 'width' | 'height' | 'posX'>>) => void;
addText: (text: string, option?: PrintTextStyle) => void;
printText: (text: string, option?: PrintTextStyle) => void;
printTexts: (texts: ColTextItem[]) => void;
printBarCode: (code: string, option?: Partial<Pick<BarCodeStyle, 'dotWidth' | 'barHeight' | 'readable' | 'symbology' | 'align' | 'width' | 'height'>>) => void;
printQrCode: (code: string, option?: Partial<Pick<QrCodeStyle, 'dot' | 'errorLevel' | 'align' | 'width' | 'height'>>) => void;
printBitmap: (uri: string | ImageSourcePropType, option?: Partial<Omit<BitmapStyle, 'posX' | 'posY'>>) => void;
printDividingLine: (style: DividingLineType, offset: number) => void;
autoOut: () => void;
enableTransMode: (enable: boolean) => void;
printTrans: () => Promise<number>;
initCanvas: (option: CanvasBaseStyle) => void;
renderText: (text: string, option?: Partial<BaseTextStyle>) => void;
renderBarCode: (code: string, option?: Partial<BarCodeStyle>) => void;
renderQrCode: (text: string, option?: Partial<QrCodeStyle>) => void;
renderBitmap: (uri: string, option?: Partial<BitmapStyle>) => void;
renderArea: (option?: Partial<ShapeStyle>) => void;
printCanvas: (count: number) => Promise<number>;
printFile: (uri: string, option?: Partial<FileStyle>) => Promise<number>;
sendEscCommand: (content: string) => void;
sendTsplCommand: (content: string) => void;
openCashDrawer: () => void;
isCashDrawerOpen: () => boolean;
lcdConfig: (command: LCDCommod) => void;
lcdShowText: (content: string, config: LCDShowTextConfig) => void;
lcdShowTexts: (texts: LCDShowTextsItem[]) => void;
lcdShowBitmap: (uri: string) => void;
lcdShowDigital: (digital: string) => void;
watchError: (errorHandler: (payload: PrintErrorMessage) => void) => () => void;
};
export {};
//# sourceMappingURL=typing.d.ts.map