Hplip
From wikinotes
The actual printer drivers depend on the type of printer that you have. Consult https://wiki.archlinux.org/index.php/CUPS#Installing_the_server_packages to see what driver is required for your printer. In this case I am using a HP PSC 1350, so I installed the HP driver:
sudo pacman -S hplip
## Note that if hplip does not work properly, you may want
## to try compiling from source. It is the driver required
## for the HP PSC 1350. There is a QT frontend for installing hp drivers.
sudo su
hp-setup -u
# When prompted choose the hp-psc 1300 series printer (the longer filename.)
# Occasionally the printer is not detected automatically by hp-setup. Try running cups first or rebooting. Worked for me!
sudo systemctl enable cups
sudo usermod -a -G lp will //Add user will to group lp
# In order for the scanner to work, install xsane.
# reboot!
# At this point scanning should work, and the printer will be detected but nothing will print.
# You need to modify the printer in the Browser based ad min panel. Enter:
http://localhost:631/
# choose 'Printers' tab, modify printers. Keep all of the settings generated by hp-setup
# the same, except for the connection (initial page) choose the following connection.
hp:/usb/psc_1300_series?serial=MY3BLBG2299F
# Print a test page to make sure it all worked.
export LPDEST=psc_1300 ## Set default printer:
lp file.txt ## Print file
## Useful Notes:
lp /home/will/file.txt -d psc_1300 //print file from command line
hp-check -r //Troubleshoot printer, check dependencies etc.