Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/11/2011, 20:04
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: PDF firmado en Liferay

Hola,

Cita:
Iniciado por altex Ver Mensaje
... También me sirviria algo como crear un pdf a través de una URL o cualquier otra solución, ya que la mayoria de maneras de crear pdf que he visto han sido a través de formularios o separando las imagenes, etc y yo necesito que sea de la página entera.

A alguien se le ocurre alguna manera de hacerlo??
Posiblemente, y solo posiblemente, puesto que habrán algunas cosas en las que puedo estar equivocado ...

Para obtener la representación gráfica de una página web en HTML, (no una URL porque una URL puede ser cualquier cosa), necesitas renderizar el código HTML ya sea visualmente o en memoria. La única forma de renderizar código HTML es con un motor de renderizado de HTML, (valga la redundancia), y hasta el momento solamente existen unos cuantos. http://es.wikipedia.org/wiki/Motor_de_renderizado, http://lobobrowser.org/cobra.jsp o algo parecido http://sourceforge.net/projects/mozillaparser/

Una vez renderizado ya puedes convertir la imagen que está en memoria o visualmente en un documento PDF, posiblemente con iText; y posiblemente firmarlo digitalmente con alguna otra herramienta.

Estos métodos serían poco convencionales y creo que bastante difíciles de implementar. Pero ese es solamente mi punto de vista, así también posiblemente puedo estar equivocado e inclusive nunca lo he intentado, aunque he visto que Vuze logró integrar el motor de Mozilla, habría que investigar más.

Saludos,

ps:

Otro método igual de poco convencional sería ejecutar una ventana del explorador en el servidor con la URL deseada y por algún método de automatización llamar a los procedimientos necesarios para imprimir la ventana, una vez tengas instalada una impresora PDF como PDFCreator, que inclusive permite firmar digitalmente. Por supuesto que la seguridad será un tema muy delicado en este tipo de implementación.