Montar servidor de impresión universal con Google Cloud Print


Supongamos que tienes una impresora en tu casa/oficina que tiene que ser usada por varias personas a la vez para mandar trabajos de manera remota a través de una red. Claro que puedes configurar impresoras compartidas en LAN dentro de cualquier sistema operativo, dentro de Linux por ejemplo usaríamos opciones como Samba + CUPS (o algún asistente gráfico como YaST para facilitar las cosas); Pero, ¿qué pasa cuando quieres imprimir desde donde sea? Ahí es donde entra al rescate la nube que tan fáciles nos ha hecho las cosas últimamente. Con la tecnología de Google Cloud Print no solo puedes configurar una impresora compartida que funcione en LAN sino que también puede funcionar globalmente desde cualquier dispositivo/plataforma y cualquier lugar sin importar qué S.O. Tenga instalado la computadora "madre" a la cual estará conectada la impresora.

NOTA: Hay impresoras ya listas para Google Cloud Print que de hecho no necesitan una PC para funcionar como servidor y las puedes usar para facilitar las cosas en este proceso, sin embargo este tutorial va más enfocado a la parte de las impresoras clásicas a las que les daremos un twist gracias a la potencia de la nube.

1) Primero: Instala tu impresora

Necesitaremos instalar nuestra impresora en la máquina madre y/o servidor desde donde queramos hacerla disponible, ésta debe funcionar para imprimir localmente desde dicha máquina. En caso de que tu impresora no funcione a la "Plug and Play" en tu sistema, vas a ocupar descargar e instalar sus drivers, mismos que puedes encontrar por acá para Windows/Linux/Mac.

2) Segundo: Actívala con Google Cloud Print

Hay 2 que 3 maneras de activar una impresora vía Google Cloud Print, sin embargo la más fácil es a través de Google Chrome, sólo tenemos que abrir el navegador, irnos a Configuración>Mostrar Configuración Avanzada y bajo el apartado de Google Cloud Print seleccionar Administrar:


Esto nos llevará a un pequeño asistente donde podremos seleccionar Agregar impresoras y añadir así las impresoras reconocidas por nuestro equipo. Una vez añadidas, las veremos directamente en la interfaz de Google Cloud Print como se puede notar en la siguiente imagen:


Desde aquí podemos administrar dichas impresoras, compartirlas, ver sus trabajos de impresión etc. Las impresoras que añadas a Google Cloud Print quedan enlazadas a una cuenta de Google específica, por lo que para permitir que otros usuarios las usen desde cualquier parte del mundo (y cualquier dispositivo) necesitamos compartirlas, ya sea públicamente o a usuarios específicos (con sus cuentas de Google):


3) Tercero: Software Cliente

Una vez añadida y compartida nuestra impresora en Google Cloud Print necesitaremos un software cliente que se debe instalar en las máquinas y/o dispositivos desde donde queramos que se pueda imprimir hacia dicha impresora (conectada a la máquina servidor) vía Google Cloud Print. Si tu impresora será pública y no tienes que montar una red interna, podríamos decir que tu trabajo aquí ha terminado. Si por otro lado necesitas configurar la capacidad de impresión vía esta impresora en un set de dispositivos/máquinas específico entonces sigue leyendo:

Hay muchas apps y soluciones para imprimir desde cualquier dispositivo a una impresora disponible vía Google Cloud Print, desde clientes de impresión directa hasta impresoras virtuales o apps móviles. Mi recomendación en el caso específico de las redes internas es usar clientes que nos provean con impresoras virtuales, ya que éstas son sólo "impresoras" que los usuarios verían directamente en su menú de impresión y que apuntarían a nuestra impresora específica en Cloud Print según la configuración que les demos. para ver una lista de clientes disponibles para todas las plataformas (móviles y de escritorio) pásate por acá.

En mi caso específico, yo uso máquinas Linux en mi red, por lo que he optado por CUPS Cloud Print como opción para cliente, mismo que se descarga desde acá según tu distro y se instala con las instrucciones que ahí mismo te proveerán. Para sistemas Fedora Linux por ejemplo, tenemos que hacer lo siguiente:

sudo gedit /etc/yum.repos.d/cupscloudprint.repo

Copiamos y pegamos lo siguiente en dicho archivo:

[cupscloudprint]

name=cupscloudprint
baseurl=http://niftyrepo.niftiestsoftware.com/rpm/
gpgcheck=1
gpgkey=http://niftyrepo.niftiestsoftware.com/rpm/RPM-GPG-KEY-niftiestsoftware

Guardamos y luego corremos:

1. su -
2. yum update
3. yum install cupscloudprint
4. /usr/share/cloudprint-cups/setupcloudprint.py

El último comando nos pedirá nuestra cuenta de Google asociada a Cloud Print y luego nos dará un link de Oauth2 que debemos abrir en nuestro navegador para que nos provean un token que luego pegaremos en la consola tal y como nos indica el programa. Una vez autorizado, CUPS Cloud Print nos hará unas preguntas de configuración y tras responderlas las impresoras de Google Cloud Print se añadirán a nuestro sistema como impresoras virtuales que podremos usar para enviar documentos a imprimir desde cualquier aplicación:


El proceso de envío de la impresión tardará un poco más de lo habitual, pero al final tendremos nuestro documento impreso de manera remota vía la impresora seleccionada.