A printing apparatus, comprising: a transport unit configured to transport a fabric formed with a pattern (40, 50) in a transport direction; an imaging unit configured to image the fabric transported by the transport unit; a printing unit configured to perform printing on the fabric transported by the transport unit; a pattern extracting unit configured to, based on a comparison between first image data representing the pattern (40, 50) and second image data generated by imaging the fabric by the imaging unit, extract a pattern region corresponding to the pattern (40, 50) in the second image data; a printing image generation unit configured to arrange third image data representing an image to be printed overlaid on the pattern (40, 50) in accordance with a positional relationship between the pattern regions extracted, to generate printing image data; and a printing control unit configured to cause the printing unit to print the printing image data on the fabric, characterised in that the pattern extracting unit is configured to perform positional relationship identification processing for setting one of the pattern regions as a search source pattern region, setting, as a search destination pattern region (C1, C2, C3, C4), the pattern region successfully found in a certain range set at a position separated in a predetermined search direction from the search source pattern region by a predetermined distance, and storing information that a position of the search destination pattern region (C1, C2, C3, C4) is adjacent in the search direction to the search source pattern region, and to newly set the search destination pattern region (C1, C2, C3, C4) as the search source pattern region to perform the positional relationship identification processing. a transport unit configured to transport a fabric formed with a pattern (40, 50) in a transport direction; an imaging unit configured to image the fabric transported by the transport unit; a printing unit configured to perform printing on the fabric transported by the transport unit; a pattern extracting unit configured to, based on a comparison between first image data representing the pattern (40, 50) and second image data generated by imaging the fabric by the imaging unit, extract a pattern region corresponding to the pattern (40, 50) in the second image data; a printing image generation unit configured to arrange third image data representing an image to be printed overlaid on the pattern (40, 50) in accordance with a positional relationship between the pattern regions extracted, to generate printing image data; and a printing control unit configured to cause the printing unit to print the printing image data on the fabric, characterised in that the pattern extracting unit is configured to perform positional relationship identification processing for setting one of the pattern regions as a search source pattern region, setting, as a search destination pattern region (C1, C2, C3, C4), the pattern region successfully found in a certain range set at a position separated in a predetermined search direction from the search source pattern region by a predetermined distance, and storing information that a position of the search destination pattern region (C1, C2, C3, C4) is adjacent in the search direction to the search source pattern region, and to newly set the search destination pattern region (C1, C2, C3, C4) as the search source pattern region to perform the positional relationship identification processing.