Страницы

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

пятница, 20 марта 2020 г.

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

#php #imagemagick #javascript #perl


Можно использовать:
php, perl, imagemagick, gd, shell
Нельзя использовать:
Сторонние библиотеки и программы. Нужна именно суть реализации подобного.
Задача:
Сделать скриншот урла по нажатию на кнопку в браузере.
Пример:



Как обустроить frontend я знаю и с этим проблем никаких нет. Вопрос как можно указанными
средствами сделать скриншот с урла.
Идеи вроде поставить vm не подходят, нужно делать все моментально, запрос ушел -
ответ пришел, без особых задержек.
Идеи гугла:

Через shell, используя firefox

bash:
firefox URL
scrot -d 5 OUT.png

Недостатки: если на сервере нет x-ов или прав у юзера нет, то все обломается

Через IE COM

Реализацию можно найти на хабре или воспользоваться php.net
Недостатки: только под винды, а нужно под линух
Надеюсь, что решение есть, просто я не умею использовать гугл :)    


Ответы

Ответ 1



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

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

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