Patent ID: 7792455

Claim:
An image forming apparatus comprising: a paper feeder containing a stack of separate papers; a conveyor sending the paper out of said paper feeder and conveying the paper with one surface of the paper set as a printing surface; a print engine forming an image based on image data processed page by page, a transferer transferring the image formed by said print engine to the printing surface of the paper conveyed by said conveyor; a fuser fixing the image transferred to the printing surface of the paper by said transferer; a double-sided printing mechanism reversing the paper on whose one surface as the printing surface the image is fixed by said fuser, and sending the reversed paper to said conveyor with the other surface of the paper being set as a printing surface; and a controller which further processes the page-by-page-image data in a unit of a predetermined job; which sets for each job whether or not double-sided printing should be performed on the paper by using said double-sided printing mechanism on the basis of an instruction given by a user; and which determines whether or not the double-sided printing is executable while said print engine is executing an operation for forming the image for a job for which the user sets that the double-sided printing should be performed, and when determining as a result that the double-sided printing is inexecutable, performs control to make at least one of said paper feeder, said conveyor, said print engine, said transferer, said fuser, and said double-sided printing mechanism execute a preset unique operation, wherein one of a first unique operation and a second unique operation is selected as the unique operation by said user when said user gives the instruction, the first unique operation being to cancel the setting that the double-sided printing should be performed and then make said print engine perform printing in a single-sided printing manner, and the second unique operation being to make said print engine stop the operation for forming the image, generate an error state and wait for an instruction from said user.