To compress data by an optimum irreversible compression means, by arranging a plurality of irreversible compression means capable of compressing in different irreversible compression methods, and a means for selecting and activating one of the plurality of irreversible compression means when a memory means runs out of a capacity.
A RAM 28 is provided with a buffer for storing received printing data, a development buffer (memory means) for storing dot image data of three bands, a multi-purpose area for storing font data, etc., and various pointers and buffers for temporarily storing operation results operated at a CPU 26. A control program (corresponding to a plurality of irreversible compression means) to control a data-thinning process for dot image data by a plurality of different methods is stored in a ROM 27. When available momory in the RAM 28 becomes short and momory cannot be secured, control for available memory reduction process is executed.