UNPKG

react-native-printer-sunmi

Version:
173 lines 5.52 kB
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