When transfer of a data frame from a host computer delays during image
printing using data transferred from the host computer, a sequence
controller (203) determines that generation of print data does not catch
up with image printing and a time delay is generated in image printing. A
data processor (201) divides a data frame (DF) transmitted immediately
before generation of the time delay into overlapping data c and the
remaining data a. The data processor further divides the overlapping data
c into two overlapping data c.sub.1 and c.sub.2. The data c.sub.2 is
extracted from the data frame (DF), held by an overlapping data holding
unit (205), and added to the start of the first data frame (DI)
transmitted after generation of the time delay. In this manner, when data
transfer is left undone during image printing and a printing time
difference is generated in image printing, part (c.sub.2) of image
printing before generation of the time delay is performed after the time
delay, suppressing image degradation.