ESC-POS codes for printing image data in page mode

Olumide picture Olumide · Dec 12, 2011 · Viewed 7.3k times · Source

I'm having difficulty printing an image data in page mode. I'm been able to print image data in standard mode as follows:

   data[] = { ESC   , 
              '*'   ,
                0   , // 8-dot single density mode
              width , // nl: image width
                0   } // nh: image width

   for each 8 x image_width block of pixels in a monochrome image
        for each 8 x 1 (vertical) strip of pixels in the block
             append pixel (0 or 1) data to the array, data[]
        write data to COM port

My (unsuccessful) attempt at printing in page mode is a variation of the above and proceeds as follows:

     select page mode by writing the chars, ESC and 'L' to the COM port
     write pixel data as described above
     print by writing the characters ESC and FF

What am I doing wrong? Do I have to specify a print region or something of the sort?

BTW, I'm programming an Epson TM-T88III.

Answer

Olumide picture Olumide · Dec 12, 2011

Found the answer. Write ESC J n (print and paper feed) command after writing after each 8 x image_width block of pixels to the COM port.