Does CGPDFScanner decompress any LZW-compression it encounters? Or am I responsible for this? [I'm assuming it does because I'm picking up plenty of Tj
operators etc.]
Yes, CGPDFScanner
will decompress any compressed streams it finds. You don't need to do that manually.