The QLn220 is a 2" printer @ 200dpi, so that means the max width you can get is about 400 dots. Try changing your print image line to something like this to scale the image before printing
success = success && [[self.printer getGraphicsUtil] printImageFromFile:filePath atX:0 atY:0 withWidth:300 withHeight:500 andIsInsideFormat:NO error:&error];
It might be a distorted image, but it shouldn't cut off