Sounds like it scales the image you print to the full size of the output media. You could try putting your coupon image into a larger image and printing that composite image. I didn't test this code but it is an adaptation of something I do to crop images.
UIImage *img = [self cropImage:image rect:CGRectMake(20,70,279,359)];
// Some size for the full image.
// Obviously you need to experiment with this to get the size right
CGSize targetSize = CGSizeMake(800, 1050);
// This will put the image in the upper left corner
// you could put it in the middle or wherever
CGPoint imageOrigin = CGPointMake(0, 0);
CGRect imageRect = CGRectMake(imageOrigin.x, imageOrigin.y, img.size.width, img.size.height);
// Always scale to the screen scale to get the sharpest images even at the expense of size.
UIGraphicsBeginImageContextWithOptions(targetSize, NO, 0);
[img drawInRect:imageRect];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// print configuration stuff from your code example goes here...
controller.printingItem = newImage;