The recording sheet is virtually divided into a recording area and an
unrecording area in a main scan direction. Unrecording area printing heat
energy is Esi calculated by subtracting printing heat energy Epi for a
line to be printed from maximum printing heat energy Epmax for printing
each line in the recording area. Common printing heat energy is
calculated by dividing the unrecording area printing heat energy Esi by
the number of the heating elements in the unrecording area. Virtual image
data for each heating element is obtained by counting backward from the
common printing heat energy. A recording sheet is printed based on the
virtual image data and the real image data. Total printing heat energy is
kept constant in each line, and there occurs no printing heat energy
fluctuation on printing. Transport load fluctuation due to the printing
heat energy fluctuation is suppressed to prevent an uneven density.