A three-dimensional printer in which ink is ejected from a printer head thereof to a print substrate having a three-dimensional surface so as to perform predetermined printing on the three-dimensional surface, comprising: a holding unit (25, 26) for holding said print substrate; a supporting device for supporting said holding unit and said printer head such that said holding unit and said printer head are movable relative to each other in a three-dimensional space; a movement controller (6, 7) for controlling said holding unit and said printer head, which are supported by said supporting device, to move relative to each other in the three-dimensional space; and a printing controller (6, 7) for controlling the ejection of ink from said printer head according to the movement control by said movement controller, wherein said printer head has a plurality of ejection nozzles which are aligned in a plane, and are formed in a bottom of the printer head, wherein said printing controller controls the ejection of ink from said plurality of ejection nozzles according to the surface curvature of a portion to be printed, to which said plurality of ejection nozzles face, of the surface of the print substrate which is held by said holding unit, wherein the printing controller is configured to bring the ink nozzles to a position, close to the print substrate and having a predetermined printing distance CL0 from the surface to be printed of the print substrate, characterized in that the printing controller is configured to additionally set the ejection direction of the ink from the ink nozzles perpendicular to the surface of the print substrate, wherein, when the print substrate has a curved surface, the printing controller is configured to control such that: the portion facing the center of the bottom of the printer head is positioned in an allowable range of the predetermined printing distance, the allowable range being between a first distance (CLO - α) and a second distance (CLO + α), and that ink is ejected through some of the plurality of ejection nozzles in a region corresponding to said portion; and ink ejection speed or ink ejection amount of ink ejected from said plurality of ejection nozzles is controlled, in regions (Bl, B2) of the surface of the print substrate which are out of the allowable range of the predetermined printing distance, so that the ink ejection speed or the ink ejection amount is increased according to increase in the distance from the bottom of the printer head to the surface of the print substrate a holding unit (25, 26) for holding said print substrate; a supporting device for supporting said holding unit and said printer head such that said holding unit and said printer head are movable relative to each other in a three-dimensional space; a movement controller (6, 7) for controlling said holding unit and said printer head, which are supported by said supporting device, to move relative to each other in the three-dimensional space; and a printing controller (6, 7) for controlling the ejection of ink from said printer head according to the movement control by said movement controller, wherein said printer head has a plurality of ejection nozzles which are aligned in a plane, and are formed in a bottom of the printer head, wherein said printing controller controls the ejection of ink from said plurality of ejection nozzles according to the surface curvature of a portion to be printed, to which said plurality of ejection nozzles face, of the surface of the print substrate which is held by said holding unit, wherein the printing controller is configured to bring the ink nozzles to a position, close to the print substrate and having a predetermined printing distance CL0 from the surface to be printed of the print substrate, characterized in that the printing controller is configured to additionally set the ejection direction of the ink from the ink nozzles perpendicular to the surface of the print substrate, wherein, when the print substrate has a curved surface, the printing controller is configured to control such that: the portion facing the center of the bottom of the printer head is positioned in an allowable range of the predetermined printing distance, the allowable range being between a first distance (CLO - α) and a second distance (CLO + α), and that ink is ejected through some of the plurality of ejection nozzles in a region corresponding to said portion; and ink ejection speed or ink ejection amount of ink ejected from said plurality of ejection nozzles is controlled, in regions (Bl, B2) of the surface of the print substrate which are out of the allowable range of the predetermined printing distance, so that the ink ejection speed or the ink ejection amount is increased according to increase in the distance from the bottom of the printer head to the surface of the print substrate the portion facing the center of the bottom of the printer head is positioned in an allowable range of the predetermined printing distance, the allowable range being between a first distance (CLO - α) and a second distance (CLO + α), and that ink is ejected through some of the plurality of ejection nozzles in a region corresponding to said portion; and ink ejection speed or ink ejection amount of ink ejected from said plurality of ejection nozzles is controlled, in regions (Bl, B2) of the surface of the print substrate which are out of the allowable range of the predetermined printing distance, so that the ink ejection speed or the ink ejection amount is increased according to increase in the distance from the bottom of the printer head to the surface of the print substrate