Página 1 de 2

Imprimir documento desde web

Publicado: 29 Sep 2012, 19:16
por Eduardo
Hola a todos, como novato en el desarrollo en web, necesitaria de vuestra ayuda. La cuestion en la siguiente.
Tengo una aplicación que desde la web podemos dar de alta un pedido, de ese pedido se generaran varios documentos que tendrian que poderse imprimir desde la web. Habia pensado en guardarlos en formato PDF y de alguna forma poder llamarlos desde la web para visualizarlos e imprimirlos. Es en este punto donde tengo los problemas. Como podria guardarlos en el pedido y después llamarlos desde la web.

Agradeceria cualquier respuesta o ejemplo que me pueda ayudar.

Muchas gracias a todos.

Re: Imprimir documento desde web

Publicado: 01 Oct 2012, 12:14
por Jose R.
Yo lo que hago es lanzar en el servidor un proceso cada x tiempo que imprime los documentos en una impresora PDF como comentaba aquí:
viewtopic.php?f=6&t=25346

En cada registro del documento en tabla, guardo la codificación que le he dado al nombre del archivo y en la web pongo el enlace con la ruta completa del archivo.
Lo único que tiene un poco de complicación es montar la impresora PDF en el servidor ;)

Re: Imprimir documento desde web

Publicado: 01 Oct 2012, 14:54
por Eduardo
Gracias Jose R. por tu colaboración

Re: Imprimir documento desde web

Publicado: 02 Oct 2012, 08:47
por filipeagg
Si lo haces solo como dice Jose R., eso significa que la url de esos documentos será publica.
Si los documentos son publicos todo OK, pero si NO deben ser consultados por personal autorizado, tienes un problema.

Como ejemplo hace tiempo, he acedido via web a todas las facturas de una empresa que tenia la web desarrollada en v6, y donde permitia consultar las facturas a sus clientes, con tan solo hacer una busqueda en google.

Si la situación se denuncia, te puede caer una multa muy importante.

Re: Imprimir documento desde web

Publicado: 03 Oct 2012, 09:16
por J. MIGUEL
Filipe, y como se debería hacer para evitar lo que dices, y que las url no sean públicas.

Un saludo

Re: Imprimir documento desde web

Publicado: 03 Oct 2012, 09:26
por filipeagg
La unica solución que conosco, es con la instalación de otro lenguaje de servidor, yo lo suelo hacer con apache y php.

En tu caso bastaria instalar el apache y PHP en el mismo servidor do que el vserver (puedes hacer una instalación sencilla con XAMPP, busca en google).

La url de descarga de los documentos, pasará siempre por el php, que comprovará si el usuario tiene permisos para acceder a ese documento (lanzando internamente una consulta a velneo preguntando por ese permiso) y devolviendo el documentos si se valida la autorización.

No es muy sencillo, pero con velneo, es lo que hay.

Hace tiempo encontré con la ayuda de Google, (como te he comentado antes), facturas de una empresa que incluso tenian las claves del vserver que habian vendido a sus clientes. Como te puedes imaginar la que se puede preparar es muy gorda.

Re: Imprimir documento desde web

Publicado: 03 Oct 2012, 11:47
por Jose R.
Yo tengo una validación de usuario que genera una sesión con caducidad.
Además de que los archivos están codificados con un nombrado complejo, para evitar que alguien pruebe al azar, la página donde muestra el enlace comprueba que tenga sesión activa, es decir, que se haya validado.

Tengo en cuenta lo comentado por filipeagg en cuanto a seguridad pero en principio con esto, Google no es capaz de rastrear los archivos al no poder validarse y crear la sesión para acceder a la página donde se publican los enlaces. Igual se me escapa algo...

Re: Imprimir documento desde web

Publicado: 03 Oct 2012, 12:21
por filipeagg
Si. Nos escapa algo, la web que te comento también tiene validación por sesión, no obstante los ficheros estan indexados.

De hecho, yo tengo una web de pruebas en una subcarpeta rara en un dominio (la web no tiene enlaces externos, ni nadie sabe la url), y google la ha empezado a indexar.

Tiene en cuenta también que el pelidro no está solo en personas externas a la aplicación. Un próprio cliente que visualize su factura (para dar un ejemplo), puede empezar a trastear con las urls de su factura y llegar a obtener la factura de otro cliente.

Las sesiones como las tienes implementadas no comprueban la descarga del documento, solo comprueban la visualización del enlace.

Por experiencia própria yo no corro con esos riesgos, es una falta de profesionalidad y no pasa nada hasta que pase, pero cada uno es libre de tomar sus proprias decisiones.

Cuando pasa, pierdes clientes, pagas multas, etc...

Re: Imprimir documento desde web

Publicado: 03 Oct 2012, 13:02
por Jose R.
Muchas gracias por comentar tu experiencia, sin duda se tendrá en cuenta y revisaré la solución ;)

Re: Imprimir documento desde web

Publicado: 03 Oct 2012, 14:31
por weekend
Buenas
Yo estuve planteando algo similar y encontre algo que quizas serviria, pero como
no lo lleve finalmente a la practica no puedo asegurar el funcionamiento al 100%.

Mi solucion la planteo alguien de este foro, que me perdone puesto que no recuerdo
quien. El proceso era el siguiente.

En la maquina del servidor se instala la impresora PDF ( yo suelo utilizar Bullzip)
Se automatiza la impresion de tal forma que no se necesite intervencion del usuario
para generar el pdf desde un documento de Velneo.
Se crea un menu en el editor con una opcion autoejecutable que lance un proceso
que imprime el informe y cierre el vclient.
Creas un usuario en el vserver y le pones como menu inicial este menu que hemos creado
Creas un bat en el servidor, que se conecte al vserver en localhost con el usuario que
hemos creado anteriormente para que al lanzarlo se conecte, imprima y salga.

Por ultimo desde la web, el boton que pulses debe lanzar un proceso en tercer plano para
que lo ejecute el servidor,
que lance el bat. Entonces se abrira el vClient en el servidor
se generara el pdf y se cerrara dejandolo en una ubicacion accesible para que sea
descargado desde la web.

Me he enrollado un poco, pero es que el proceso es un poco enrevesado.
Suerte :D