Ответ 1
Попробуйте CutyCapt, утилиту командной строки. Он использует Webkit для рендеринга и вывода в различных форматах (SVG, PNG и т.д.).
Я хочу создать изображение, как выглядит веб-страница, например создайте маленькую миниатюру html + изображений. он не должен быть идеальным (например, флэш/javascript-рендеринг).
Я позвоню, используя код в linux, в идеале будет какая-то java-библиотека, но инструмент командной строки тоже будет классным.
любые идеи?
Попробуйте CutyCapt, утилиту командной строки. Он использует Webkit для рендеринга и вывода в различных форматах (SVG, PNG и т.д.).
вы можете получить его почти идеально, и перекрестная платформа тоже, используя плагин браузера.
FireShot или ScreenGrab для Firefox.
BrowserShots - проект с открытым исходным кодом, который может содержать некоторый код, который вы можете использовать.
также см.:
Чтобы сделать снимок экрана в терминале с помощью 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.
Если вас интересует 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/
Прочитав эту страницу, я подумал, позвольте мне запустить браузер 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.