A computer program product comprising a non-transitory computer usable medium having computer readable program codes embodied in the medium that, when executed, cause a computer used in an image forming apparatus to execute functions as:
- a first paper feeding control unit that
- feeds a sheet from a sheet stacking unit housing the sheet and
- conveys the sheet to a transfer position at which a transfer unit is disposed;
- a second paper feeding control unit that reverses the sheet on which a transfer on a front surface has been already performed and then conveys the sheet to the transfer position via a first paper feeding position when a transfer is to be performed on each of both sides of the sheet transferred by a transfer unit that transfers a toner image formed on a photosensitive element onto the front surface or a back surface of the sheet;
- a first decision unit that decides a transfer order on each surface of each of a plurality of sheets when transfer is to be performed by interleaf control according to a print job instructing printing on both sides of the plurality of sheets;
- an execution control unit that
- controls the first paper feeding control unit at the time of transfer on the front surface of each sheet based on an order decided by the first decision unit according to the print job, makes the sheet fed from the sheet stacking unit, controls transfer performed by the transfer unit on the front surface of the sheet,
- controls the second paper feeding control unit at the time of transfer on the back surface, makes the sheet fed from the first paper feeding position, and controls transfer performed by the transfer unit on the back surface of the sheet;
- and
- a second decision unit that, when a predetermined condition is satisfied,
- decides that a second sheet, which is a transfer target on a front surface subsequent to the transfer on a back surface of a first sheet, is to be fed from the sheet stacking unit,
- earlier than the first sheet, in which transfer on a front surface has been finished and which is a transfer target on the back surface, is fed from the first paper feeding position,
- wherein
- the execution control unit controls the first paper feeding control unit according to a decision of the second decision unit and makes the second sheet be fed from the sheet staking unit, and
- the first paper feeding control unit controls the conveyance of the second sheet from the sheet stacking unit to the transfer position such that
- the first sheet is apart from the second sheet by a predetermined sheet interval distance or more
- without changing a transfer order on the back surface of the first sheet and a transfer order on the front surface of the second sheet fed from the sheet staking unit, according to the decision of the second decision unit.