[ubuntu-ar] [OT] Imprimir desde pagina web en la impresora del cliente

Nicolas Bevilacqua nicobevilacqua at gmail.com
Thu Sep 30 15:37:11 BST 2010


  El 30/09/2010 11:33 a.m., Marcelo Fernandez escribió:
> El día 30 de septiembre de 2010 10:48, Nicolas Bevilacqua
> <nicobevilacqua en gmail.com>  escribió:
>> Lista, tengo una consulta, medio off topic.
>>
>> Me está por salir un laburo en donde me piden armar una aplicación web en la
>> que tengo que generar e imprimir etiquetas con código de barras entre otras
>> cosas. La aplicación es web ya que quieren acceder desde varios lugares
>> geográficos.
>>
>> Necesito armar toda la arquitectura de la red ya que actualmente no poseen
>> nada y se manejan todo por papel.
> Buenísimo.
>
>> Les digo mi idea: La aplicación va a correr en un servidor ubuntu, con un
>> apache y va a estar hecha en mysql y php.
> Y bueh... vamos a tratar de ayudarte igual :-P
>
>> Mi problema viene a la hora de definir como voy a imprimir las etiquetas.
>>
>> Lo que quiero hacer es montar un servidor CUPS en la misma máquina con el
>> servidor web, y enviar a imprimir desde php pdfs generados con las etiquetas
>> que se desean imprimir.
>>
>> Por lo que estuve leyendo, esto tendría que funcionar.
>>
>> Ahora, la cuestión es la siguiente, que pasa si la página web se encuentra
>> en un hosting pago, y mi servidor CUPS esta en el lado del cliente? Tengo
>> forma de comunicar el sistema web con el servidor CUPs sin necesidad de
>> interacción con el cliente. A ver si me explico, el cliente web (firefox)
>> envia a imprimir una determinada etiqueta - el servidor envía la orden a la
>> impresora del cliente que se encuentra compartida por CUPs - la etiqueta se
>> imprime sin que el cliente haga nada más.
>>
>> Es muy complicado lo que quiero hacer ?
> Sí, es complicado porque es muy probable que falle; los firewalls/NATs
> te van a hacer la vida imposible (sencillamente "no se hace así" :-P).
> Con esta arquitectura de aplicación (puede haber otras), se me ocurre
> que tenés estas opciones:
>
> 1) (fácil) Que el usuario descargue el pdf y se encargue de
> imprimirlo. Lo bueno es que sale tal como lo generó el servidor. Lo
> malo es que "perdés el control" de que efectivamente fue impreso (en
> algunos casos esto es un problema).
>
> 2) (fácil) Generar en HTML lo que querés imprimir para que el Firefox
> lo mande a impresión directamente (al usuario le aparecería el cuadro
> de diálogo de impresión, como cuando le dás "imprimir" a un mail en
> GMail). Lo malo es que si el estilo es medio complicado (y más si son
> códigos de barra) se te puede complicar que salga tal como querés.
>
> 3) (medio) Usar un applet Java firmado (o que por políticas el usuario
> habilite su ejecución) que corra en el browser y dispare la impresión.
> Lo bueno es que es con sólo instalar el soporte de applets de Java el
> navegador le cede el control a tu applet y podés imprimir con control
> de tu aplicación y devolver un "OK" o "Error" a tu server. Lo malo es
> que es más complejo que lo anterior.... y es Java. :-P
>
> 4) (difícil) Crear un agente (aplicación de escritorio) muy liviana o
> un plugin para tu navegador que el usuario se instale y que se
> encargue de descargar e imprimir directamente. Lógicamente, este
> componente tiene que establecer un canal aparte/diferente de
> comunicación al que tiene el navegador para recibir la orden de
> "descargar e imprimir".
> Quizás con Mozilla Jetpack [1] (una biblioteca para hacer extensiones
> en Javascript) puedas experimentar algo; eso sí, sólo va a funcionar
> en Firefox. Chrome/Chromium tiene un motor de extensiones bastante
> sencillo [2] que también podés programar en Javascript (y creo que
> Jetpack se inspiró en este).
>
>> Conocen de alguna otra forma de
>> hacerlo ? Estuve leyendo de que se puede hacer con activex y con clientes
>> windows, pero les soy sincero, tengo 0 ganas de usar nada que empieze con
>> Microsoft.
> El ActiveX en Windows es similar a la opción 3, nada más que con una
> tecnología en desuso, muy propietaria y que sólo funciona en
> Windows+IE.
>
> [1] https://jetpack.mozillalabs.com/
> [2] http://code.google.com/chrome/extensions/index.html
>
> Ahí tenés un menú de opciones para elegir. :-)
>
> Saludos

Buenisimo, algo parecido a la opción 3 es lo que quiero hacer, me voy a 
poner a investigar con lo que me pasaste.
Disculpen si me exprese mal.

Saludos, Nicolás.



More information about the Ubuntu-ar mailing list