2010-07-23 22 views
16

Quiero crear una imagen de cómo se ve una página web, p. crea una pequeña miniatura de las imágenes html +. no tiene que ser perfecto (por ejemplo, representación flash/javascript).generar imagen (por ejemplo, jpg) de una página web?

I'll call use el código en linux, idealmente sería alguna biblioteca java, pero una herramienta de línea de comandos también sería genial.

¿Alguna idea?

+0

posible duplicado de [Programa de línea de comando para crear capturas de pantalla del sitio web (en Linux)] (http://stackoverflow.com/questions/125951/command-line-program-to-create-website-screenshots-on-linux) –

Respuesta

12

Pruebe CutyCapt, una utilidad de línea de comandos. Utiliza Webkit para renderizar y producir en varios formatos (SVG, PNG, etc.).

+0

+1: Esto hará el trabajo. – tur1ng

+0

se ve bien, pero me gustaría una solución que es gratis para uso comercial – JohnSmith

+0

en realidad, creo que podría estar equivocado, ¿entiendo correctamente que CutyCapt + QT son de uso gratuito para uso comercial, utilizando la licencia LGPL? http://qt.nokia.com/products/licensing – JohnSmith

2

puede conseguirlo casi perfecto, y multiplataforma también, mediante el uso de un complemento de navegador.

BrowserShots es un proyecto de código abierto que puede tener algún código que puede utilizar.

También ver:

+0

No es una solución de programación. –

+2

¿ha mirado alguno de los enlaces que proporcioné? Hay opciones de línea de comando, todas funcionan en Linux, exactamente como el asker requiere –

+0

aplausos para los enlaces, parece que hay algunas soluciones posibles allí. – JohnSmith

1

Para tomar una captura de pantalla en el TE rminal con ImageMagick, escriba la línea siguiente en un terminal y haga clic y arrastre el ratón sobre una sección de la pantalla:

import MyScreenshot.png 

Para capturar toda la pantalla y después de un cierto retraso y cambiar su tamaño, utilice el siguiente comando:

import -window root -resize 400×300 -delay 200 screenshot.png 

Usted puede usar una mezcla de xwininfo y importación para recuperar la ventana Identificación del navegador y hacer una captura de pantalla de la ventana. Una escritura del golpe para automatizar este proceso sería algo como esto:

#!/bin/bash 
window_id=`xwininfo -tree -root | grep Mozilla | awk '{print $1}'` 
import -window $window_id -resize 100x100 tumb.png 

Este script creará una captura de pantalla de 100x100 de Firefox en el directorio actual bajo el nombre tumb.png

Varias fuentes muestran cómo ejecutar una bash script desde dentro de una aplicación Java, google puede ayudarte con eso. Si tiene prisa, marque this y this.

+0

para aclarar, esto será invocado por un software independiente (no es un software de ui) ... por lo tanto, debe ser automático – JohnSmith

+0

He editado la respuesta anterior y he agregado la información que está buscando. – karlphillip

0

Si está interesado en Java, tal vez usted podría mirar a la automatización navegador usando selenio-RC http://seleniumhq.com

Es un poco de servidor Java que se puede instalar en la caja y el propio programa se ejecute comandos remotos en una navegador web.

pasos como (esto es pseudo código, por cierto, cifro mi selenio en php y no puedo recordar el 100% de las características específicas de la parte superior de mi cabeza)

selenium.location("http://foo.com") 
selenium.open("/folder/sub/bar.html") 
selenium.captureScreenshot("/tmp/" + this.getClass().getName() + "." 
           + testMethodName + ".png"); 

De hecho, acabo hizo una búsqueda en la red rápida para conocer la sintaxis exacta en la que el pasado ... y este tipo tiene un blog con lo que en realidad podría ser el código de trabajo en java :) https://dev.youdevise.com/YDBlog/index.php?title=capture_screenshots_of_selenium_browser_&more=1&c=1&tb=1&pb=1

también hay una serie de sitios web que ofrecen este servicio "cruz navegador y sistema operativo "No puedo recordar cuáles son. Básicamente tienen una nube de cada combinación de sistema operativo y navegador, y se conectan con cada máquina, toman una pantalla y la almacenan en su sitio para que regrese en unas pocas horas cuando hayan terminado.

Ahh ... otra búsqueda en la red y es tuyo :) http://browsershots.org/

0

Después de leer esta página, estaba pensando, deja que el fuego de navegador Midori: http://midori-browser.org/ y cuando intenté la opción -h, he visto:

-s, --snapshot  Take a snapshot of the specified URI 

QutyCapt es difícil compilar, y tiene muchas dependencias. Midori lo tiene menos. Muestra el PNG del sitio web en la carpeta TMP. Uno puede obtener el archivo con:

midori -s http://www.rcdwealth.com new.png 2>/dev/null | awk '{ print $4}' 

Después de eso, el archivo se puede convertir en miniatura de tamaño mediante el uso del programa de conversión de ImageMagick.

Cuestiones relacionadas