Code:
#include <stdio.h>
#define ESC "\x1B" // CHR$(&H1B)
#define GS "\x1D" // CHR$(&H1D)
int main ( ) {
FILE *fp = fopen("printdata.dat","wb");
// PRINT #1, CHR$(&H1B);"@"; 'Initializes the printer (ESC @)
fprintf(fp, ESC "@");
// PRINT #1, CHR$(&H1B);"a";CHR$(1);'Specifies a centered printing position (ESC a)
fprintf(fp, ESC "a");fputc(1,fp);
// PRINT #1, CHR$(&H1B);"!";CHR$(0); 'Specifies font A (ESC !)
fprintf(fp, ESC "!");fputc(0,fp);
// PRINT #1, "January 14, 2002 15:00";
fprintf(fp, "January 14, 2002 15:00");
// PRINT #1, CHR$(&H1B);"d";CHR$(3); 'Prints and 3 line feeding (ESC d)
fprintf(fp, ESC "d");fputc(3,fp);
// PRINT #1, CHR$(&H1B);"a";CHR$(0); 'Selects the left print position (ESC a)
fprintf(fp, ESC "a");fputc(0,fp);
// PRINT #1, CHR$(&H1B);"!";CHR$(1); 'Selects font B
fprintf(fp, ESC "!");fputc(1,fp);
// PRINT #1, "TM-U210B $20.00";CHR$(&HA);
fprintf(fp, "TM-U210B $20.00\n");
// PRINT #1, "TM-U210D $21.00";CHR$(&HA);
fprintf(fp, "TM-U210D $21.00\n");
// PRINT #1, "PS-170 $17.00";CHR$(&HA);
fprintf(fp, "PS-170 $17.00\n");
// PRINT #1, CHR$(&HA);
fprintf(fp, "\n");
// 'Line feeding (LF)
// PRINT #1, CHR$(&H1B);"!";CHR$(17); 'Selects double-height mode
fprintf(fp, ESC "!");fputc(17,fp);
// PRINT #1, "TOTAL $58.00"; CHR$(&HA);
fprintf(fp, "TOTAL $58.00\n");
// PRINT #1, CHR$(&H1B);"!";CHR$(0); 'Cancels double-height mode
fprintf(fp, ESC "!");fputc(0,fp);
// PRINT #1, "------------------------------";CHR$(&HA);
fprintf(fp,"------------------------------\n");
// PRINT #1, "PAID $60.00";CHR$(&HA);
fprintf(fp,"PAID $60.00\n");
// PRINT #1, "CHANGE $ 2.00";CHR$(&HA);
fprintf(fp,"CHANGE $ 2.00\n");
// PRINT #1, CHR$(&H1D);"V";CHR$(66);CHR$(0); 'Feeds paper & cut
fprintf(fp, GS "V");fputc(66,fp);fputc(0,fp);
// ’Drawer Kick (ESC p)
// PRINT #1, CHR$(&H1B); CHR$(&H70); CHR$(&H0); CHR$(60); CHR$(120);
fputc(0x1B,fp);
fputc(0x70,fp);
fputc(0x00,fp);
fputc(60,fp);
fputc(120,fp);
fclose(fp);
return 0;
}
$ hd printdata.dat
00000000 1b 40 1b 61 01 1b 21 00 4a 61 6e 75 61 72 79 20 |[email protected]..!.January |
00000010 31 34 2c 20 32 30 30 32 20 20 31 35 3a 30 30 1b |14, 2002 15:00.|
00000020 64 03 1b 61 00 1b 21 01 54 4d 2d 55 32 31 30 42 |d..a..!.TM-U210B|
00000030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 | $|
00000040 32 30 2e 30 30 0a 54 4d 2d 55 32 31 30 44 20 20 |20.00.TM-U210D |
00000050 20 20 20 20 20 20 20 20 20 20 20 20 20 24 32 31 | $21|
00000060 2e 30 30 0a 50 53 2d 31 37 30 20 20 20 20 20 20 |.00.PS-170 |
00000070 20 20 20 20 20 20 20 20 20 20 20 24 31 37 2e 30 | $17.0|
00000080 30 0a 0a 1b 21 11 54 4f 54 41 4c 20 20 20 20 20 |0...!.TOTAL |
00000090 20 20 20 20 20 20 20 20 20 20 20 20 20 24 35 38 | $58|
000000a0 2e 30 30 0a 1b 21 00 2d 2d 2d 2d 2d 2d 2d 2d 2d |.00..!.---------|
000000b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------|
000000c0 2d 2d 2d 2d 2d 0a 50 41 49 44 20 20 20 20 20 20 |-----.PAID |
000000d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 36 | $6|
000000e0 30 2e 30 30 0a 43 48 41 4e 47 45 20 20 20 20 20 |0.00.CHANGE |
000000f0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 20 32 | $ 2|
00000100 2e 30 30 0a 1d 56 42 00 1b 70 00 3c 78 |.00..VB..p.<x|
0000010d