A printing apparatus, comprising: a transport unit configured to transport a fabric formed with a pattern in a transport direction; an imaging unit configured to image the fabric transported by the transport unit and generate second image data; a printing unit configured to perform printing on the fabric transported by the transport unit; a pattern registration unit configured to register first image data representing the pattern; a pattern extracting unit configured to, based on a comparison between the first image data and the second image data, extract a pattern region corresponding to the pattern 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 so that the third image data matches the pattern region 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, characterized in that the pattern extracting unit is configured to compare each of a plurality of divided pieces of first image data obtained by dividing the first image data in at least one of a vertical direction and a horizontal direction with the second image data, to extract, from the second image data, a partial pattern region corresponding to a partial pattern represented by the divided first image data, and the printing image generation unit is configured to arrange each of a plurality of divided pieces of third image data obtained by dividing the third image data in at least one of the vertical direction and the horizontal direction, in accordance with the partial pattern region extracted, to generate the printing image data. a transport unit configured to transport a fabric formed with a pattern in a transport direction; an imaging unit configured to image the fabric transported by the transport unit and generate second image data; a printing unit configured to perform printing on the fabric transported by the transport unit; a pattern registration unit configured to register first image data representing the pattern; a pattern extracting unit configured to, based on a comparison between the first image data and the second image data, extract a pattern region corresponding to the pattern 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 so that the third image data matches the pattern region 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, characterized in that the pattern extracting unit is configured to compare each of a plurality of divided pieces of first image data obtained by dividing the first image data in at least one of a vertical direction and a horizontal direction with the second image data, to extract, from the second image data, a partial pattern region corresponding to a partial pattern represented by the divided first image data, and the printing image generation unit is configured to arrange each of a plurality of divided pieces of third image data obtained by dividing the third image data in at least one of the vertical direction and the horizontal direction, in accordance with the partial pattern region extracted, to generate the printing image data.