A few years ago, I was asked whether I could solve a nasty little problem with Adobe Acrobat files.
We had always archived old documents by scanning them to PDF files. But now we had the problem that many of the documents couldn't be read; we'd get part way through, then Acrobat Reader would pop up the message "Insufficient data for an image" and the rest of the pages would be blank. What a useless error message - what are you supposed to do next?
I found that it was possible to recover the individual pages, by using the program PDF Image Extraction Wizard to extract the original page scan images. This program was freeware at the time, but has since become shareware. There are many other programs which claim to convert PDF pages to images, but it seems to be the only one that recovers the original images instead of re-digitising the page and hence messing up the resolution. I then used the freeware package PDFill PDF Tools to re-assemble the images into a new PDF.
So why had the problem only emerged years after the documents were scanned, and what really was the fault?
The evidence for the fault turned out to be in the extracted page scans. Wherever the problem occurs, the image is one row of pixels shorter than all the other pages. Presumably this was a fault in whatever scanner software was used at the time; all the faulty PDF's found so far have dated from 2002 or 2003.
So it seems that the PDF file format must contain information about the expected size of the image, and then Acrobat Reader puts up the error message when it finds less pixels in the image than it had been told were there. So "Insufficient data for an image" is actually a correct error message, but utterly useless because it leaves you with no idea of what to do next.
This is where the helicopter joke comes in. As usually told, a helicopter pilot flying in Seattle is suddenly surrounded by fog. He flies the chopper very slowly until he can see an office building. He grabs a pen, writes a sign "Where am I?" and holds it up. The people in the office building do the same, and their sign reads "You are in a helicopter". To the passenger's astonishment, the pilot then flies at full speed through the fog and lands safely. When asked how, the pilot explains that the answer was completely accurate but useless, so he knew it must be the Microsoft building.
So maybe we could add Adobe to the joke, at least for the one unfortunate programmer who wrote the error message.
I haven't yet explained how the problem was missed back in 2002. It turns out that Acrobat Reader was then at version 5.2 and it ignored the error. Version 6 put up the error message but showed the document anyway, so the fault was ignored. But more recent versions either stop displaying the document when the fault occurs, or resume display only after the fault.
Eventually I found out that there is a simpler way to fix the problem. But that's another story.