I had to do three things to get my old but nice Canon CanoScan N650U flatbed scanner to work with Adobe Photoshop CS3: 1) I had to download the latest driver for this model, which included a Photoshop plugin. 2) I had to manually move the CanoScan Photoshop plugin into /Applications/Adobe Photoshop CS3/Plug-ins. 3) I had to run Photoshop under Rosetta, the PowerPC emulation layer in Mac OS X for Intel Macs, because Canon's drivers do not yet run directly on the Intel hardware.
To run Photoshop under Rosetta, find /Applications/Adobe Photoshop CS3/Adobe Photoshop CS3, right-click (or control-click) on it, select Get Info. In the panel that opens, check the "Open using Rosetta" checkbox. From now on, Photoshop will open under the (slower) Rosetta PowerPC emulator. The loading screen (with the logo and the status messages) will say "Running under Rosetta".
For clarity sake, Rosetta is not an emulator, it is a binary translator. Most people don't care to understand the difference, but for those of us in the industry, there is a big difference. An emulator simulates an entire architecture including hardware, OS, and any app environments. A binary translator only translates code from one CPU architecture to another. It doesn't emulate anything, rather, it performs the real time translation. A common emulator on the Power PC platform was Virtual PC (from Microsoft). That product emulated the entire Intel architecture where you loaded windows, then your application.
I know Rosetta carries overhead, but the overhead is tremendously lower than an emulator would require. Your app should be fairly usable with Rosetta, vs being nearly useless with a fat emulator.
BTW - Rosetta is a product OEM'd from Transitive. I work in the industry and have used their products with other platforms as well.