Иногда нужно сделать «нотариально заверенный» скриншот страницы для каких-либо целей. Как же это сделать? Есть множество методов подходящих для различных ситуаций, посему приступим.
Вариант первый, наверное самый простой: print screen. Открываем страничку, нажимаем волшебную кнопку, и изображение оказывается в буфере обмена. Далее запускаем любой графический редактор (например paint), и нажимаем в нем магическую комбинацию shift-insert. Вуаля — изображение вставилось, далее осталось только сохранить его в удобном месте.
Поэтому приходим к варианту второму: как уменьшить число действий? На помощь может придти плагин к браузеру. Для FireFox есть такой плагин под названием Screengrab, страница каталога дополнений мозиллы https://addons.mozilla.org/ru/firefox/addon/1146. Если его поставить, то в меню по правому клику на странице появится соответствующий пункт, и с его помощью скриншот делается в пару кликов.
Для большинства ситуаций один из этих методов проблему решит, но иногда нужны скриншоты для кучи страниц, или требуется автоматизация. Тут на помощь может придти полезная программка под названием CutyCapt. Она кроссплатформенна, бесплатна и свободна, а для рендеринга страниц использует движок webkit. Windows-версия доступна на странице проекта в уже скомпиленном виде, для других операционок необходимо скачать исходники из SVN и скомпилировать. Инструкция, опять же, доступна на странице проекта.
Некоторая тонкость: если хочется делать скриншот с сервера, у которого нет графического терминала, то тут придется чутка извратиться. Есть виртуальный X-сервер xvfb, который фактически рисует все в памяти, не используя экран. В пакет этой программы обычно так и называется: xvfb. Используется следующим образом:
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=... --out=...
Естественно разрешение экрана можно поставить такое, которое нужно, а если требуется сделать много скриншотов — можно написать скрипт, который их делает, и запускать через xvfb-run уже его. Сэкономив тем самым на запуске X-сервера.