First off, I can't take credit for discovering this. I have read a few forum posts in different forums (some maybe here) and want to thank all those who have come up with the idea to use hplip to set this up and whoever in cyberspace posted in whatever forum the link to the correct driver for my printer.
That said, I'm going to try and make this as general as possible, even though I've only done this using an Epson XP-400 Small-In-One Printer/Scanner. Also I have not tried to get the unit's built-in SD card reader working, since my laptop already has a SD card reader built in which works out quite well.
I'm using Linux Mint 14 KDE version but this might be adaptable to other versions. To start with, you should already have installed by default CUPS and xsane. The only other things you want to install from the Software Manager is hplip (required, and should work with any machine and printer, not just HP models) and optionally gocr if you're going to want to use optical character recognition (i.e. scanning a document and having it convert it into plain text).
First step is to locate a Debian package (.deb) for your printer. For example, the Epson XP-400 Small-In-One needs the epson-inkjet-printer-201203w_1.0.0-1lsb3.2_amd64.deb: http://download.ebz.epson.net/dsc/du/02 ... f7bdda7b10 . You may want to ask around in the forums or Google for the right driver for your all-in-one unit.
Now follow these steps:
1. Install the new driver by double clicking it in the file manager. It probably is not a bad idea to restart the computer after installation just to be sure everything is installed and set up.
2. Turn on the printer.
3. Run hplip (type this in the search in the menu/Application Launcher).
4. Select to run the CUPS web interface.
5. Add printer and then go through the steps. Be sure to choose the Detected Network Printer.
6. From the drop down box on one of the screens you may have to scroll to the very bottom to see the printer driver you installed.
7. When you're done with the setup, go to the Administration tab and from the Maintenance drop down, select to print a test page. You're printer should work. If not, then you may want to go through the CUPS setup again, or try rebooting. If all else fails, ask in the forums for help.
8. Assuming the printer is working, now you can also run xsane and have it scan a page (maybe the test page as a test).
Troubleshooting Note: If the printer or scanner is not working, you may need to go into the firewall (Applications, Settings, System Settings, Network and Connectivity area, firewall) and turn it *off*. I've found the printer will work with it on but not the scanner! If anyone knows a fix for this, please do post here.