Страницы

Поиск по вопросам

пятница, 7 июня 2019 г.

Скриншот окна браузера

Можно использовать: php, perl, imagemagick, gd, shell Нельзя использовать: Сторонние библиотеки и программы. Нужна именно суть реализации подобного. Задача: Сделать скриншот урла по нажатию на кнопку в браузере. Пример: Как обустроить frontend я знаю и с этим проблем никаких нет. Вопрос как можно указанными средствами сделать скриншот с урла. Идеи вроде поставить vm не подходят, нужно делать все моментально, запрос ушел - ответ пришел, без особых задержек. Идеи гугла: Через shell, используя firefox bash: firefox URL scrot -d 5 OUT.png Недостатки: если на сервере нет x-ов или прав у юзера нет, то все обломается Через IE COM Реализацию можно найти на хабре или воспользоваться php.net Недостатки: только под винды, а нужно под линух Надеюсь, что решение есть, просто я не умею использовать гугл :)


Ответ

Не пойму я, как это вы хотите обойтись без «сторонних библиотек и программ» — самому полностью писать рендерную машину? Но раз ImageMagick вам не сторонний, то полагаю, и webkit-qt тоже сойдет :) Если все-таки есть иксы и можно использовать браузер, то лучше коннектиться к файрфоксу через MozRepl Если хочется обойтись без иксов (точнее, без рисования на экране), то можно задействовать xvfb или vncserver Если хочется обойтись без целого браузера, то можно брать какой-нибудь headless движок: phantomjs, watin, htmlunit Вот вам пример для ориентировки: CutyCapt. Удачи.

Комментариев нет:

Отправить комментарий