Maybe i'm a bit late, but you still can try the AccessImagine
component - it can do all the things you need without any programming.
You just press Scan
button, and component scans the document, automatically names it, saves it as jpeg to some location and inserts the filename to DB.
Beside that, AccessImagine shows smooth images and produces perfect 300-dpi printouts when it comes to reports printing.