Introduction
Printing from a Chromebox, or other Chrome OS device can at times be fairly frustrating. I find printing out documents to be less of an issue with my Chromebook, but I absolutely need to be able to print at home. Hence this (short) guide for the Chromebox!Option 1: The Chrome OS way.
Chrome OS devices don't print to printers in the old-fashioned way that we are used to. Since you can't exactly install printer drivers in Chrome OS, you have to use the Google Cloud Print (GCP) method. Essentially, you take your printer and either (a) connect it directly to Google Cloud Print or (b) connect it to a computer that runs the GCP extension in Chrome (browser).(a) There area number of printers on the market that will connect via the internet/cloud directly to Google, including a variety of Epson and HP models. These "cloud-ready" models allow a device using GCP (like ChromeOS) to print directly to the printer via the web. This is the best way to connect a printer to your Chromebox, especially if your printer is GCP compatible.
http://www.google.com/cloudprint/learn/
(b) So your printer isn't fancy and cloud ready... No need to worry. If you're running a separate Win/Mac/Linux computer, you can install Google Chrome and set up GCP from that device. It will locate your locally connected printer and add it your GCP list. As long as the computer that is connected to the printer is on, you can print to the attached printer.
While this works pretty well, it requires another computer to be on whenever you wan't to print. If you want to try and save power... (and computer startup time!), this method is inconvenient.
Option 2: The Tinkerer's Way
If you like to modify your devices, you've probably already upgraded the RAM or HD in your chromebox, or even installed Crouton or ChrUbuntu. For those not in the know, these are the two methods by which one can run Ubuntu Linux on a Chrome OS device. I personally am more partial to the Crouton method, primarily because it allows one to run Chrome OS and Ubuntu simultaneously.The method described below uses this "dual nature" of Crouton.
For this method to work, you will need to have Crouton installed and have your device in developer mode.
http://www.howtogeek.com/162120/how-to-install-ubuntu-linux-on-your-chromebook-with-crouton/
The idea here will be to:
1. Have Ubuntu Linux (raring ringtail/13.04) or greater running via crouton
2. Set up a local printer in Ubuntu (USB or network printer) using CUPS (linux printing manager)
3. Install Google Chrome and set up Google Cloud Print
4. Connect your printer to GCP
5. Switch back to Chrome OS and print! Note that you will have to have Linux up and running in the background to be able to print from Chrome OS.
Once you've set up crouton and have linux up and running, set up CUPS and your printer.
The following guide is helpful: https://github.com/dnschneid/crouton/wiki/Printing
This commentary also adds more clarity: https://github.com/dnschneid/crouton/issues/143
Note that you may have to do some leg-work to find the right Linux drivers for your printer. Additionally, not all printers will play nice with Ubuntu. Google search is your friend here!
To set up GCP, install google chrome in linux (go to the chrome website and download and install the .deb package for your distro-- don't use the repositories!), then set up GCP as you would on any windows or mac computer and associate your connected printer with GCP.
Once back in Chrome OS, if you have crouton running, you should be able to print!
--------------
A yet third approach is this option, but I haven't tried it, so i personally can't comment on how it works (i'm sure it works well too!) http://brimborium.net/chromebook-crouton-ubuntu-and-printing-with-the-epson-wf-3540/