The real professionals swear by
ABBYY Finereader. But that doesn't come cheap.

Of course, depending on how much use you get out of it, it might be worth the expenditure.
The best free alternative is the open-source Tesseract OCR engine, which can be used by various graphical frontends.
You could try
k2pdfopt -- it is a PDF reflow tool that can also embed OCR data using Tesseract.
And it's a CLI tool, so easily scriptable.