You don't need the camera preview. ZBar can scan directly from a UIImage. Convert your UIImage to a CGImage, create a ZBarImage, and pass it to a ZBarImageScanner. The scanner will return the barcode data, and you can access the symbol's location points through the ZBarSymbol object to determine its position in the image.