Подтвердить что ты не робот

Сгенерировать изображение (например, jpg) веб-страницы?

Я хочу создать изображение, как выглядит веб-страница, например создайте маленькую миниатюру html + изображений. он не должен быть идеальным (например, флэш/javascript-рендеринг).

Я позвоню, используя код в linux, в идеале будет какая-то java-библиотека, но инструмент командной строки тоже будет классным.

любые идеи?

4b9b3361

Ответ 1

Попробуйте CutyCapt, утилиту командной строки. Он использует Webkit для рендеринга и вывода в различных форматах (SVG, PNG и т.д.).

Ответ 2

вы можете получить его почти идеально, и перекрестная платформа тоже, используя плагин браузера.

BrowserShots - проект с открытым исходным кодом, который может содержать некоторый код, который вы можете использовать.

также см.:

Ответ 3

Чтобы сделать снимок экрана в терминале с помощью ImageMagick, введите следующую строку в терминал, а затем нажмите и перетащите указатель мыши на часть экрана:

import MyScreenshot.png

Чтобы захватить весь экран и после некоторой задержки и изменить его размер, используйте следующую команду:

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

Вы можете использовать смесь xwininfo и import, чтобы получить идентификатор окна браузера и сделать снимок экрана этого окна. A bash script для автоматизации этого процесса будет примерно таким:

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

Этот script создаст скриншот Firefox 100x100 для Firefox в текущем каталоге под названием tumb.png

Несколько источников показывают, как запускать bash script из приложения Java, Google может помочь вам в этом. Если вы спешите, this и this.

Ответ 4

Если вас интересует Java, возможно, вы можете посмотреть автоматизацию браузера с помощью Selenium-RC http://seleniumhq.com

Это небольшой java-сервер, который вы можете установить на ящик, и сама программа будет выполнять удаленные команды в веб-браузере.

Шаги вроде (это псевдокод кстати, я кодирую свой Selenium в php, и я не могу вспомнить 100% особенностей с головы)

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

На самом деле, я просто сделал быстрый поиск в Интернете для точного синтаксиса этого последнего... и у этого парня есть блог с тем, что на самом деле может быть рабочим кодом в java:) https://dev.youdevise.com/YDBlog/index.php?title=capture_screenshots_of_selenium_browser_&more=1&c=1&tb=1&pb=1

Также существует ряд сайтов, которые предоставляют эту услугу "кросс-браузер и ОС". Я просто не могу вспомнить, что это такое. В основном у них есть облако каждой отдельной операционной системы и комбинации браузеров, и они входят в систему с каждой машиной, берут экран и хранят его на своем сайте, чтобы вы вернулись через несколько часов, когда они будут сделаны.

Ahh... другой веб-поиск и это ваш:) http://browsershots.org/

Ответ 5

Прочитав эту страницу, я подумал, позвольте мне запустить браузер midori: http://midori-browser.org/, и когда я попробовал параметр -h, Я видел:

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

QutyCapt сложно компилировать и имеет множество зависимостей. У Мидори это меньше. Он выводит PNG веб-сайта в папку TMP. Файл можно получить с помощью:

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

После этого файл можно преобразовать в миниатюрный размер с помощью программы преобразования ImageMagick.