18 votos

¿Cómo se imprime en CUPS (corriendo en otra computadora en la LAN)?

¿Cómo imprimir desde Android a CUPS (ejecutándose en otra computadora en la LAN)?

(Por supuesto, CUPS (Sistema/Servidor de Impresión Común de Unix) ya está configurado para aceptar solicitudes sobre la LAN.)

Preferiblemente, sin depender de software propietario.

1 votos

Sin la ayuda de otras herramientas: improbable. Con la ayuda de otras herramientas: revisa "cups print" en Google Play. Me sorprendió ver que realmente hay clientes de CUPS disponibles, no esperaba eso...

4voto

Jon Puntos 21

Recientemente he lanzado una aplicación de Android basada en una versión (modificada) de Cups4J. La comunicación es a través de http/https. Lo principal que tuve que/opté por cambiar de la biblioteca de java fue una dependencia de JAXB para el procesamiento de XML (a. Sentí que era demasiado pesado b. Android no tiene esta javax lib e importarla aparentemente implica un repaqueteo) confiando en lugar de esto en algo de codificación dura.

Descarga Android CUPS Printing en la Play Store o obtén el código fuente en GitHub.

3 votos

Echa un vistazo a f-droid.org y su foro, que da la bienvenida a la presentación de aplicaciones de código abierto para Android. La comunidad allí, espero, será lo suficientemente amigable como para ayudarte a empaquetar tu código fuente de una manera agradable, para que sea fácil de leer y reproducir tu procedimiento de compilación. Si deseas publicarlo, por favor, abre un nuevo tema en el foro allí, ¡y esperemos que obtengas ayuda y contribuciones (parches) de la comunidad, para que tu proyecto pueda vivir y desarrollarse aún más! Un requisito previo es que coloques tu código fuente en Git. Si tengo tiempo, también intentaré ayudarte.

1 votos

Simplemente anotando. Aún necesito entender Git, pero por ahora todo lo que he hecho se puede encontrar en mobd.jonbanjo.com/jfcupsprint/licence.php. Hay 2 archivos, cups4jpatched.zip y jfcupsprint.zip.

3 votos

Tomé la libertad de tomar las fuentes de este proyecto, convertirlas a gradle y hospedarlas en github. Todas las contribuciones son bienvenidas en: github.com/BenoitDuffez/JfCupsPrint (además, agregué el servicio de impresión para que puedas añadir impresoras a Android directamente). Se requiere KitKat.

4voto

Dej Puntos 21

Ahora puedes configurar CUPS para IPP Everywhere. Debería aparecer directamente en los menús de impresoras de tu Android, Chromebooks y quizás incluso en tu iPhone. Las otras respuestas están desactualizadas para sistemas razonablemente nuevos: se requiere CUPS 1.5+ y Android 4.4+ o una impresora IPP Everywhere es requerida. Para Apple AirPrint se requiere CUPS 2.2.2 es requerido. Depurar la funcionalidad puede ser un poco difícil.

2voto

Barton Puntos 11

Tengo una impresora USB conectada a una máquina con Windows y mi servidor Linux la ve a través de SMB y la publica a través de CUPS (asegúrate de "compartirla...").

Para Android, existe Let's Print Droid - completo con un servicio de impresión para que todas las aplicaciones la vean. Se tarda aproximadamente dos minutos en configurar.

0 votos

Tengo un servidor de impresión google/cups-connector ejecutándose en un ordenador con Ubuntu (servidor smb en el router). La chromebook imprime correctamente desde esta impresora de red, pero esta aplicación fue lo único que logró que imprimiera en Android.

2voto

user21497 Puntos 146

Como ya se ha mencionado en otras respuestas, el servicio de impresión del sistema Android puede acceder a la impresora CUPS (al menos para Android 10).

Estos son los pasos que tuve que seguir para que funcionara con Debian Buster, ya que en mi caso CUPS no estaba configurado para aceptar solicitudes LAN.

En Debian Buster

Los pasos se extrajeron de Compartir a través del Protocolo de Impresión por Internet @ wiki.ArchLinux.org

  1. ir al panel de administración de CUPS http://localhost:631/admin y marcar "Compartir impresoras conectadas a este sistema", luego hacer clic en "Cambiar configuración"
  2. Editar /etc/cups/cupsd.conf para que tu CUPS / sea accesible desde una dirección de la red local
   Order allow,deny
   Allow localhost
   Allow 192.168.0.*

...
  1. Editar /etc/cups/cupsd.conf de una de estas formas

3a. para que tu CUPS escuche en la dirección a la que la llamas

...
Listen :631
...

3b. para que tu CUPS escuche en el puerto 631 (independientemente de la dirección a la que la llames) elimina la línea Listen localhost:631 y agrega esta [3b. funciona mejor para mí, ya que después de un reinicio, la solución 3a. no hizo que el servidor CUPS fuera accesible desde cualquier otro lugar que no sea localhost]

...
Port 631
...
  1. Reinicia el demonio de CUPS:
# systemctl restart cups

En un teléfono con Android 10 (el mío es un Xiaomi con MIUI 11)

  • Simplemente ve a parámetros / Conexión y uso compartido / Impresión / Servicio de impresión del sistema (debería estar habilitado)
  • asegúrate de que tu teléfono esté conectado a la red donde tu servidor CUPS sea accesible
  • Normalmente tus impresoras deberían aparecer automáticamente

0 votos

Confirmación en Android 13: el servicio predeterminado selecciona impresoras CUPS compartidas a través de mDNS. Antes de leer esta publicación, probé "Impresión CUPS en Android" (detectaba, pero no imprimía), PrintBot (detectaba y imprimía bien con IPP Everywhere).

1voto

Parece que no hay clientes nativos de CUPS para Android que sean software libre.

La única forma que se puede encontrar es bastante incómoda, a través de una instalación de Debian en el dispositivo Android -- http://code.google.com/p/android/issues/detail?id=1148#c41. Pero utilizar una instalación de Debian (u otra distribución) como LilDebi (por ejemplo) definitivamente requerirá acceso root (¡para chroot!) ¡No es conveniente para aquellos que no desean rootear el dispositivo (solo para poder imprimir). (A propósito, ¿no hay, además de chroot, tecnologías de aislamiento más modernas implementadas en Linux que no requieran acceso root?.. ¿Quizás, LXC?)

Otra aplicación (Remote CUPS) requiere acceso SSH al servidor.

ObPrint no parece ser de código abierto.

Let's Print Droid tampoco parece ser de código abierto.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X