/** * ESC/POS Command Set * * Comprehensive ESC/POS thermal printer command bytes for MP-4200 TH. * Reference: ESC/POS Command Manual * * This file contains all documented ESC/POS commands organized by category. * Commands are compatible with standard ESC/POS thermal printers. */ export declare const HT = 9; export declare const LF = 10; export declare const FF = 12; export declare const CR = 13; export declare const DLE = 16; export declare const CAN = 24; export declare const ESC = 27; export declare const FS = 28; export declare const GS = 29; export declare const INIT: number[]; export declare const ALIGN_LEFT: number[]; export declare const ALIGN_CENTER: number[]; export declare const ALIGN_RIGHT: number[]; export declare const BOLD_ON: number[]; export declare const BOLD_OFF: number[]; export declare const UNDERLINE_ON: number[]; export declare const UNDERLINE_OFF: number[]; /** * Calculate character size using ESC ! command (compatible with more printers) * ESC ! only supports up to 2x2 character size * @param width - Width multiplier (1 or 2) * @param height - Height multiplier (1 or 2) * @param bold - Whether text should be bold (optional, default: false) * @returns ESC/POS ESC ! n command bytes */ export declare const calculateCharacterSize: (width: number, height: number, bold?: boolean) => number[]; export declare const setLineSpacing: (dots: number) => number[]; export declare const LINE_SPACING_DEFAULT: number[]; export declare const LINE_FEED: number[]; export declare const feedLines: (lines: number) => number[]; export declare const CUT_FULL: number[]; export declare const CUT_PARTIAL: number[]; export declare const cutWithFeed: (lines: number) => number[]; export declare const CODEPAGE_CP437: number[]; export declare const CODEPAGE_CP860: number[]; export declare const CODEPAGE_WPC1252: number[]; /** * Generate QR Code command * @param data - QR code data (URL or text) * @param size - QR code module size (1-16, default 6) * @returns ESC/POS command bytes */ export declare const generateQRCode: (data: string, size?: number) => number[]; /** * Generate raster image command (GS v 0) * @param imageData - Monochrome bitmap data (1 bit per pixel, 1=black, 0=white) * @param width - Image width in pixels * @param height - Image height in pixels * @returns ESC/POS command bytes */ export declare const generateRasterImage: (imageData: number[], width: number, height: number) => number[]; /** * Text encoding helper * Converts string to CP860 byte array for Brazilian Portuguese thermal printers */ export declare const encodeText: (text: string) => number[]; /** * DLE EOT n - Transmit real-time status * n = 1: Transmit printer status * n = 2: Transmit offline status * n = 3: Transmit error status * n = 4: Transmit paper roll sensor status */ export declare const transmitRealtimeStatus: (n: 1 | 2 | 3 | 4) => number[]; /** * DLE ENQ n - Real-time request to printer * n = 1: Recover from error and restart printing * n = 2: Clear buffer */ export declare const realtimeRequest: (n: 1 | 2) => number[]; /** * DLE DC4 fn a b - Generate pulse in real-time * fn = 1: Generate pulse * a = drawer (0 or 1) * b = pulse time */ export declare const realtimePulse: (drawer: 0 | 1, pulseTime: number) => number[]; /** * ESC $ nL nH - Set absolute print position * Position = ((nH × 256) + nL) × (horizontal motion unit) */ export declare const setAbsolutePosition: (position: number) => number[]; /** * ESC \ nL nH - Set relative print position * Relative position = ((nH × 256) + nL) × (horizontal motion unit) * Supports negative values (two's complement) */ export declare const setRelativePosition: (position: number) => number[]; /** * ESC SP n - Set right-side character spacing * Range: 0 ≤ n ≤ 255 * Spacing = n × (horizontal motion unit) */ export declare const setCharacterSpacing: (dots: number) => number[]; /** * ESC D n1...nk NUL - Set horizontal tab positions * n1-nk: Tab positions (1-255), up to 32 positions * Must be in ascending order, terminated with NUL */ export declare const setTabPositions: (positions: number[]) => number[]; /** * ESC D NUL - Cancel all horizontal tab positions */ export declare const CLEAR_TABS: number[]; /** * ESC G n - Turn double-strike mode on/off * n = 0 or 48: Turn off double-strike mode * n = 1 or 49: Turn on double-strike mode */ export declare const DOUBLE_STRIKE_ON: number[]; export declare const DOUBLE_STRIKE_OFF: number[]; /** * Character font selection */ export declare enum CharacterFont { FONT_A = 0,// 12×24 dots (default) FONT_B = 1,// 9×17 dots FONT_C = 2 } /** * ESC M n - Select character font * n = 0 or 48: Font A (12×24) * n = 1 or 49: Font B (9×17) * n = 2 or 50: Font C (printer dependent) */ export declare const selectFont: (font: CharacterFont) => number[]; /** * ESC V n - Turn 90° clockwise rotation mode on/off * n = 0 or 48: Turn off 90° clockwise rotation mode * n = 1 or 49: Turn on 90° clockwise rotation mode */ export declare const ROTATE_90_ON: number[]; export declare const ROTATE_90_OFF: number[]; /** * ESC { n - Turn upside-down printing mode on/off * n = 0 or 48: Turn off upside-down printing mode * n = 1 or 49: Turn on upside-down printing mode */ export declare const UPSIDE_DOWN_ON: number[]; export declare const UPSIDE_DOWN_OFF: number[]; /** * ESC - n - Turn underline mode on/off with thickness selection * n = 0 or 48: Turn off underline mode * n = 1 or 49: Turn on underline mode (1-dot thick) * n = 2 or 50: Turn on underline mode (2-dots thick) */ export declare const UNDERLINE_1DOT: number[]; export declare const UNDERLINE_2DOT: number[]; /** * ESC 2 - Select default line spacing * Sets line spacing to approximately 4.23mm (1/6 inch) */ export declare const LINE_SPACING_DEFAULT_ALT: number[]; /** * ESC J n - Print and feed paper * Range: 0 ≤ n ≤ 255 * Feed amount = n × (vertical motion unit) */ export declare const printAndFeed: (dots: number) => number[]; /** * ESC K n - Print and reverse feed * Range: 0 ≤ n ≤ 255 * Reverse feed amount = n × (vertical motion unit) */ export declare const printAndReverseFeed: (dots: number) => number[]; /** * ESC i - Full cut * Executes a full cut (cuts paper completely) */ export declare const CUT_FULL_ESC: number[]; /** * ESC m - Partial cut * Executes a partial cut (leaves connection point) */ export declare const CUT_PARTIAL_ESC: number[]; /** * GS V m n - Cut paper and feed * m = 65 (0x41): Feed then full cut * m = 66 (0x42): Feed then partial cut * n = feed amount before cut */ export declare const cutAndFeedFull: (dots: number) => number[]; export declare const cutAndFeedPartial: (dots: number) => number[]; /** * ESC = n - Select peripheral device * n = 0: Disabled * n = 1: Enabled */ export declare const selectPeripheral: (enabled: boolean) => number[]; /** * ESC p m t1 t2 - Generate pulse * m = 0 or 48: Drawer kick-out connector pin 2 * m = 1 or 49: Drawer kick-out connector pin 5 * t1 = ON time (0-255, units of 100ms) * t2 = OFF time (0-255, units of 100ms) */ export declare const generatePulse: (connector: 0 | 1, onTime: number, offTime: number) => number[]; /** * ESC c 3 n - Select paper sensor(s) to output paper-end signals * n is a bitmask for sensor selection */ export declare const selectPaperSensorOutput: (sensorMask: number) => number[]; /** * ESC c 4 n - Select paper sensor(s) to stop printing * n is a bitmask for sensor selection */ export declare const selectPaperSensorStop: (sensorMask: number) => number[]; /** * ESC c 5 n - Enable/disable panel buttons * n = 0: Enable panel buttons * n = 1: Disable panel buttons */ export declare const enablePanelButtons: () => number[]; export declare const disablePanelButtons: () => number[]; /** * International character set selection */ export declare enum InternationalCharset { USA = 0, FRANCE = 1, GERMANY = 2, UK = 3, DENMARK_I = 4, SWEDEN = 5, ITALY = 6, SPAIN_I = 7, JAPAN = 8, NORWAY = 9, DENMARK_II = 10, SPAIN_II = 11, LATIN_AMERICA = 12, KOREA = 13 } /** * ESC R n - Select international character set */ export declare const selectInternationalCharset: (charset: InternationalCharset) => number[]; /** * Extended code page enumeration */ export declare enum CodePage { CP437 = 0,// USA, Standard Europe CP850 = 2,// Multilingual CP860 = 3,// Portuguese CP863 = 4,// Canadian-French CP865 = 5,// Nordic CP851 = 11,// Greek CP853 = 12,// Turkish CP857 = 13,// Turkish CP737 = 14,// Greek CP928 = 16,// Greek CP866 = 17,// Cyrillic #2 CP852 = 18,// Latin 2 CP858 = 19,// Euro WPC1252 = 16 } /** * ESC t n - Select character code table */ export declare const setCodePage: (page: CodePage) => number[]; /** * Bit image modes for ESC * */ export declare enum BitImageMode { MODE_8_SINGLE = 0,// 8-dot single-density (67 DPI) MODE_8_DOUBLE = 1,// 8-dot double-density (100 DPI) MODE_24_SINGLE = 32,// 24-dot single-density (203 DPI) MODE_24_DOUBLE = 33 } /** * ESC * m nL nH d1...dk - Print bit image * m: Bit image mode * nL, nH: Number of data columns (nL + nH × 256) * d1...dk: Bit image data */ export declare const printBitImage: (mode: BitImageMode, width: number, data: number[]) => number[]; /** * GS * x y d1...dk - Define downloaded bit image * x: Number of bytes in horizontal direction (1 ≤ x ≤ 255) * y: Number of bytes in vertical direction (1 ≤ y ≤ 48) * Horizontal dots = x × 8 * Vertical dots = y × 8 */ export declare const defineDownloadedBitImage: (x: number, y: number, data: number[]) => number[]; /** * Downloaded image print modes */ export declare enum DownloadedImageMode { NORMAL = 0,// Normal (100% × 100%) DOUBLE_WIDTH = 1,// Double width (200% × 100%) DOUBLE_HEIGHT = 2,// Double height (100% × 200%) QUADRUPLE = 3 } /** * GS / m - Print downloaded bit image * m: Print mode (0-3) */ export declare const printDownloadedBitImage: (mode: DownloadedImageMode) => number[]; /** * FS p n m - Print NV bit image * n: NV bit image number (1-255) * m: Print mode (0-3, same as DownloadedImageMode) */ export declare const printNVBitImage: (imageNumber: number, mode: DownloadedImageMode) => number[]; /** * FS q n [xL xH yL yH d1...dk]1...n - Define NV bit image * n: Number of NV bit images to define (1-255) * For each image: * xL, xH: Width in bytes ((xH × 256 + xL) × 8 dots) * yL, yH: Height in bytes ((yH × 256 + yL) × 8 dots) * d1...dk: Bit image data */ export declare const defineNVBitImage: (images: Array<{ width: number; height: number; data: number[]; }>) => number[]; /** * Barcode HRI (Human Readable Interpretation) position */ export declare enum BarcodeHRIPosition { NOT_PRINTED = 0,// HRI not printed ABOVE = 1,// HRI above barcode BELOW = 2,// HRI below barcode BOTH = 3 } /** * GS H n - Select HRI character print position */ export declare const setBarcodeHRI: (position: BarcodeHRIPosition) => number[]; /** * GS f n - Select font for HRI characters * n = 0 or 48: Font A * n = 1 or 49: Font B */ export declare const setBarcodeFont: (fontB: boolean) => number[]; /** * GS h n - Set barcode height * Range: 1 ≤ n ≤ 255 (in dots) * Default: 162 */ export declare const setBarcodeHeight: (height: number) => number[]; /** * GS w n - Set barcode width * Range: 2 ≤ n ≤ 6 (module width in dots) * Default: 3 */ export declare const setBarcodeWidth: (width: number) => number[]; /** * Barcode symbologies */ export declare enum BarcodeType { UPC_A = 0,// UPC-A (11-12 digits) UPC_E = 1,// UPC-E (6-8 digits) EAN13 = 2,// EAN-13 (12-13 digits) EAN8 = 3,// EAN-8 (7-8 digits) CODE39 = 4,// CODE39 (variable length) ITF = 5,// ITF (Interleaved 2 of 5, variable even length) CODABAR = 6,// CODABAR (variable length) CODE93 = 72,// CODE93 (variable length) CODE128 = 73 } /** * GS k m d1...dk NUL - Print barcode (NUL-terminated) * For barcode types 0-6 (UPC-A, UPC-E, EAN-13, EAN-8, CODE39, ITF, CODABAR) */ export declare const printBarcode: (type: BarcodeType, data: string) => number[]; /** * GS k m n d1...dn - Print barcode (length-specified) * For barcode types 65-73 (with length prefix) */ export declare const printBarcodeWithLength: (type: number, data: string) => number[]; /** * Print UPC-A barcode * Requires 11-12 digits */ export declare const printBarcodeUPCA: (data: string) => number[]; /** * Print UPC-E barcode * Requires 6-8 digits */ export declare const printBarcodeUPCE: (data: string) => number[]; /** * Print EAN-13 barcode * Requires 12-13 digits */ export declare const printBarcodeEAN13: (data: string) => number[]; /** * Print EAN-8 barcode * Requires 7-8 digits */ export declare const printBarcodeEAN8: (data: string) => number[]; /** * Print CODE39 barcode * Supports: 0-9, A-Z, space, and symbols ($ % + - . /) */ export declare const printBarcodeCODE39: (data: string) => number[]; /** * Print ITF barcode (Interleaved 2 of 5) * Requires even number of digits */ export declare const printBarcodeITF: (data: string) => number[]; /** * Print CODABAR barcode * Supports: 0-9, A-D, and symbols ($ + - . / :) */ export declare const printBarcodeCODABAR: (data: string) => number[]; /** * Print CODE93 barcode * Supports all ASCII characters (0-127) */ export declare const printBarcodeCODE93: (data: string) => number[]; /** * Print CODE128 barcode * Supports all ASCII characters (0-127) */ export declare const printBarcodeCODE128: (data: string) => number[]; /** * GS ( k pL pH cn fn [parameters] - PDF417 commands * cn = 0x30 (function code 48 for PDF417) */ /** * Set PDF417 number of columns * fn = 0x41, n = number of columns (0 or 1-30) */ export declare const setPDF417Columns: (columns: number) => number[]; /** * Set PDF417 number of rows * fn = 0x42, n = number of rows (0 or 3-90) */ export declare const setPDF417Rows: (rows: number) => number[]; /** * Set PDF417 module width * fn = 0x43, n = module width (2-8 dots) */ export declare const setPDF417Width: (width: number) => number[]; /** * Set PDF417 row height * fn = 0x44, n = row height (2-8 dots) */ export declare const setPDF417RowHeight: (height: number) => number[]; /** * Set PDF417 error correction level * fn = 0x45, m = 48 (standard mode), n = level (0-8) */ export declare const setPDF417ErrorCorrection: (level: number) => number[]; /** * Store PDF417 data * fn = 0x50, m = 48 (standard mode), followed by data */ export declare const storePDF417Data: (data: string) => number[]; /** * Print PDF417 symbol * fn = 0x51, m = 48 (standard mode) */ export declare const printPDF417: () => number[]; /** * Generate complete PDF417 barcode * Convenience function that combines all PDF417 commands */ export declare const generatePDF417: (data: string, options?: { columns?: number; rows?: number; width?: number; rowHeight?: number; errorCorrection?: number; }) => number[]; /** * GS ! n - Select character size * Supports 1-8x width and height multipliers * Bits 0-2: Width (0-7 for 1x-8x) * Bits 4-6: Height (0-7 for 1x-8x) */ export declare const selectCharacterSize: (widthMultiplier: number, heightMultiplier: number) => number[]; /** * GS B n - Turn white/black reverse printing mode on/off * n = 0 or 48: Turn off white/black reverse mode * n = 1 or 49: Turn on white/black reverse mode */ export declare const REVERSE_PRINT_ON: number[]; export declare const REVERSE_PRINT_OFF: number[]; /** * GS ( N pL pH fn n - Select character effects * fn = 48: Set character color * fn = 49: Set character smoothing */ export declare const setCharacterColor: (color: 1 | 2) => number[]; export declare const setCharacterSmoothing: (enabled: boolean) => number[]; /** * GS a n - Enable/disable Automatic Status Back (ASB) * n is a bitmask for status types to enable */ export declare const enableASB: (statusBits: number) => number[]; export declare const disableASB: () => number[]; /** * Printer ID types for GS I command */ export declare enum PrinterIDType { PRINTER_MODEL = 1,// Printer model ID TYPE_ID = 2,// Type ID ROM_VERSION = 65,// ROM version ID FONT_TYPE = 66,// Font type ID (Japanese) MANUFACTURER = 67 } /** * GS I n - Transmit printer ID */ export declare const requestPrinterID: (type: PrinterIDType) => number[]; /** * Status types for GS r command */ export declare enum StatusType { PAPER_SENSOR = 1,// Paper sensor status DRAWER_SENSOR = 2,// Drawer kick-out connector status INK_SENSOR = 4,// Ink status (for special models) PAPER_ROLL_SENSOR = 18 } /** * GS r n - Transmit status */ export declare const requestStatus: (type: StatusType) => number[]; /** * GS L nL nH - Set left margin * Left margin = ((nH × 256) + nL) × (horizontal motion unit) */ export declare const setLeftMargin: (dots: number) => number[]; /** * GS W nL nH - Set printing area width * Width = ((nH × 256) + nL) × (horizontal motion unit) */ export declare const setPrintingAreaWidth: (dots: number) => number[]; /** * GS : - Start/end macro definition * First call starts macro definition * Second call ends macro definition */ export declare const START_MACRO: number[]; export declare const END_MACRO: number[]; /** * GS ^ r t m - Execute macro * r: Number of times to execute macro (0-255) * t: Waiting time between executions (0-255, units of 100ms) * m: Macro execution mode (0 or 1) */ export declare const executeMacro: (repeatCount: number, waitTime: number, mode: 0 | 1) => number[]; /** * ESC U n - Turn unidirectional printing mode on/off * n = 0 or 48: Turn off unidirectional printing * n = 1 or 49: Turn on unidirectional printing */ export declare const UNIDIRECTIONAL_ON: number[]; export declare const UNIDIRECTIONAL_OFF: number[]; /** * CAN - Cancel print data in page mode * Deletes all print data in the current printable area */ export declare const CANCEL: number[]; /** * ESC ( A pL pH n m r t - Execute test print * pL pH = 2 (fixed) * n = paper pattern (1-3) * m = mode (0-2) * r = number of times to repeat * t = interval time */ export declare const executeTestPrint: (pattern: number, mode: number, repeat: number) => number[]; //# sourceMappingURL=escpos.d.ts.map