The printing elements of each printing element array are divided into blocks. A block to be driven and a block not to be driven are determined for each scanning of a printhead. The printhead is driven to print by complementing blocks to be driven by each scanning in a plurality of scanning operations. In each scanning, the printhead prints while making a printing area corresponding to at least one ink different from a printing area corresponding to another ink.