Комментарии 41
В примере, при переходе по ссылке на созданный скрин, выползает 404.
Костылястый такой костыль… PhantomJS не канает? ( habrahabr.ru/blogs/javascript/116789/ )
Я описал один из вариантов.
Про PhantomJS почитаю подробнее позднее.
З.Ы. я не уверен, но есть подозрение, что PhantomJS будет некорректно работать с flash на сайтах.
Про PhantomJS почитаю подробнее позднее.
З.Ы. я не уверен, но есть подозрение, что PhantomJS будет некорректно работать с flash на сайтах.
Судя по документации ( code.google.com/p/phantomjs/wiki/Interface ) он и Flash прекрасно подхватит с правильным ключиком запуска. А так мы избавимся от лишнего «жруна» — Xvfb. Тем более на каждый скрин поднимать заново Xvfb, это же жесть какая жесть…
Ну как бы все равно придется использовать Xvfb
Иначе Фантом вам скажет: [WARNING] phantomjs: cannot connect to X server
(мы же говорим о скрининге с консоли на сервачке, да?)
Иначе Фантом вам скажет: [WARNING] phantomjs: cannot connect to X server
(мы же говорим о скрининге с консоли на сервачке, да?)
Пример временно недоступен. Я убрал скрипт, пока восстановлю серверную часть.
P.S. пример по ссылке — это пока не полноценно работающий сервис, это лишь пример реализации действий, указанных в статье.
P.S. пример по ссылке — это пока не полноценно работающий сервис, это лишь пример реализации действий, указанных в статье.
Проверил из консоли: работает! Правда хотелось бы побыстрее… Получается от 5 до 30 сек в зависимости от УРЛа.
Есть адреса, загрузки которых оно не дожидается совсем. Применяю CutyCapt в продакшене, пришлось сделать специальный скрипт–прибиватор для отдельных случаев «вечной загрузки».
Основная причина в длительном создании скриншота — доступность сайта, который скриншотится.
Это ведь равносильно тому, что мы запросим сайт через браузер.
Подумаю над решением проблемы.
Спасибо за комментарий.
Это ведь равносильно тому, что мы запросим сайт через браузер.
Подумаю над решением проблемы.
Спасибо за комментарий.
А как у него со шрифтами? Экспериментировал со скриншотерами, но шрифты так и не удалось добить.
У меня в профиле есть линк сайта si**t.in (не рекламлю,), на котором все скриншоты (на страницах, где описаны конкретные сайтики) сделаны через Кутикапт. Вот можете по ним и судить.
Я заметил проблему с шрифтами только на китайском сайте-аукционе.
Спасибо за комментарий.
Спасибо за комментарий.
Можно написать приложение на python с использование qt-webkit будет более гибкое решение. В свое время перепробывал для pr-cy.ru много готовых решений, ниодно не устроило.
Ещё у вас не на всех сайтах flash работает.
У меня есть свой маленький проектик, типа «домашняя страничка» с любимыми ссылками.
Когда переделывал его в очередной раз — сделал автоснятие скриншотов с помощью wkhtml.
Главное достоинство — рендер страниц посредством webkit. Flash так и не смог завести, хотя, говорят, это возможно.
Посмотреть в работе можно тут, если будет интересно — расскажу как прикручивать wkhtml себе на сайт.
Когда переделывал его в очередной раз — сделал автоснятие скриншотов с помощью wkhtml.
Главное достоинство — рендер страниц посредством webkit. Flash так и не смог завести, хотя, говорят, это возможно.
Посмотреть в работе можно тут, если будет интересно — расскажу как прикручивать wkhtml себе на сайт.
Ссылки не вставились.
Сайт wkhtmltopdf — code.google.com/p/wkhtmltopdf/
Мой сайтик, где можно глянуть пример работы — webstartpage.ru
P.S.
С некоторых пор не могу пользоваться тегами — никак не привыкну.
Сайт wkhtmltopdf — code.google.com/p/wkhtmltopdf/
Мой сайтик, где можно глянуть пример работы — webstartpage.ru
P.S.
С некоторых пор не могу пользоваться тегами — никак не привыкну.
wkhtmltopdf — code.google.com/p/wkhtmltopdf/
Мечтаю о приложинии, которое бы умело не только создавать полноразмерные скриншоты сайтов, но и готовить их к печати. А именно: увеличивать изображения без потери качества и без каких либо алгоритмов, просто увеличивая размеры пикселей в 2,3,4 и так далее раз.
Сейчас это приходится делать в фотошопе, принскриня увеличенное изображение. Неудобно.
Сейчас это приходится делать в фотошопе, принскриня увеличенное изображение. Неудобно.
А зачем принтскринить увеличенное изображение и вставлять в фотошоп? Можно же в нем прямо и увеличить :)
Если из маленького изображения сделать большое, то оно сильно потеряет в качестве.
> без потери качества и без каких либо алгоритмов
В фотошопе это делается так:
1. Image > Image Size…
2. Выбираем нужный размер и dpi принтера, режим интерполяции Nearest Neighbor
i55.tinypic.com/316sv9e.png
В фотошопе это делается так:
1. Image > Image Size…
2. Выбираем нужный размер и dpi принтера, режим интерполяции Nearest Neighbor
i55.tinypic.com/316sv9e.png
Скриншот страницы в компоненте WebBrowser www.delphiexpert.ru/view_lesson.php?id=58
сохраняет скриншот окна
можно дописать перемещение невидимое окна чтоб охватить все зоны и сохранить в 1 файл
я уже доработал чтоб JPEG был прогрессивный и можно устанавливать качество его
можно сохранять в тот же PNG, затем фрактально к примеру увеличивать и сохранять в нужном формате
ТИГРА, автор tigrazone.narod.ru/AISPLIT.ZIP
сохраняет скриншот окна
можно дописать перемещение невидимое окна чтоб охватить все зоны и сохранить в 1 файл
я уже доработал чтоб JPEG был прогрессивный и можно устанавливать качество его
можно сохранять в тот же PNG, затем фрактально к примеру увеличивать и сохранять в нужном формате
ТИГРА, автор tigrazone.narod.ru/AISPLIT.ZIP
Скриншот страницы в компоненте WebBrowser www.delphiexpert.ru/view_lesson.php?id=58
В Ubuntu 11.04 CutyCapt можно и не собирать из исходников, он уже доступен из стандартного репозитория.
sudo apt-get install xvfb cutycapt
xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt --url=http://habrahabr.ru --out=habrahabr_ru.jpg
Что-то задавался такой же проблемой и решил вам рассказать озамечтельной системе тестирования Selenium. В ней есть модули для создания скриншотов страниц, а поддержка языков позволяет написать небольшой Database Queue Thread, который будет опрашивать базу и делать скриншоты и складывать их куда Вы пожелаете.
P.S. Помоему гораздо более простой вариант чем городить различные фреймбуферные декстопы… Опять же это всего лишь вариант если уж действительно так надо скриншоты делать…
P.S. Помоему гораздо более простой вариант чем городить различные фреймбуферные декстопы… Опять же это всего лишь вариант если уж действительно так надо скриншоты делать…
Скажите, а с помощью screen и xvfb можно сделать «висящее в фоне» GUI приложение?
А чем отличается полный скриншот по длине и ширине от захвата окна браузера?
А вы пробовали решить проблему для страничек/сайтов, где требуется авторизация?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Создание полноразмерных скриншотов web-ресурсов