Inkjet printer (100; 200) comprising a) a transport mechanism (120; 220) for transporting a substrate along a first axis; b) a print engine (160; 260) comprising at least two inkjet print bars (165; 265) arranged along the first axis; c) a controller for controlling the ejection of ink by the at least two inkjet print bars (165; 265); e) at least two first encoders for the determination of at least two first positions of substrate locations along the first axis; f) a compensation module for processing the at least two determined first positions to generate at least one first individual compensation parameter for each of the at least two inkjet print bars (165; 265); wherein the first compensation parameters are transmitted to the controller to influence the ejection of ink in such a way that effects due to variations of the at least two first positions of the substrate along the first axis are compensated; wherein the transport mechanism (120; 220) for transporting the substrate comprises a plurality of rollers (122, 123) supporting the substrate, the at least two first encoders being assigned to at least two of the rollers (122, 123), and wherein a longitudinal extension of the at least two inkjet print bars of the print engine extends parallel to the first axis and in that the inkjet printer comprises a scanning mechanism for moving the print engine along a second axis perpendicular to the first axis; characterized by at least two second encoders for the determination of at least two second positions of the at least two inkjet print bars along the second axis, wherein the compensation module is programmed to process the second positions to generate at least one second individual compensation parameter for each of the at least two inkjet print bars and wherein the second compensation parameters are transmitted to the controller to influence the ejection of ink in such a way that effects due to differences of the at least two second positions from predetermined reference positions are compensated. a) a transport mechanism (120; 220) for transporting a substrate along a first axis; b) a print engine (160; 260) comprising at least two inkjet print bars (165; 265) arranged along the first axis; c) a controller for controlling the ejection of ink by the at least two inkjet print bars (165; 265); e) at least two first encoders for the determination of at least two first positions of substrate locations along the first axis; f) a compensation module for processing the at least two determined first positions to generate at least one first individual compensation parameter for each of the at least two inkjet print bars (165; 265); wherein the first compensation parameters are transmitted to the controller to influence the ejection of ink in such a way that effects due to variations of the at least two first positions of the substrate along the first axis are compensated; wherein the transport mechanism (120; 220) for transporting the substrate comprises a plurality of rollers (122, 123) supporting the substrate, the at least two first encoders being assigned to at least two of the rollers (122, 123), and wherein a longitudinal extension of the at least two inkjet print bars of the print engine extends parallel to the first axis and in that the inkjet printer comprises a scanning mechanism for moving the print engine along a second axis perpendicular to the first axis; characterized by at least two second encoders for the determination of at least two second positions of the at least two inkjet print bars along the second axis, wherein the compensation module is programmed to process the second positions to generate at least one second individual compensation parameter for each of the at least two inkjet print bars and wherein the second compensation parameters are transmitted to the controller to influence the ejection of ink in such a way that effects due to differences of the at least two second positions from predetermined reference positions are compensated.