Как создать изображение веб-страницы на PHP? - PullRequest
5 голосов
/ 03 мая 2011

Как вы можете отобразить и сохранить веб-страницу в виде изображения в PHP, вероятно, с шириной 600 пикселей. Как я могу отобразить страницу в PHP без использования браузера? Как я могу сохранить его с заданным разрешением и форматом изображения (jpeg)? Функциональность аналогична Google Preview, за исключением того, что она не будет отображаться при смене ролика.

Аналогично этому вопросу, на который дан ответ в C #. Как сохранить веб-страницу как изображение

Спасибо!

Ответы [ 2 ]

7 голосов
/ 03 мая 2011

Вы должны получить wkhtmltoimage, который очень легко использовать из PHP:

exec("../wkhtmltoimage --crop-w 600 http://example.com/ output.png");

Существуют и другие варианты, и вместо --crop-w или --width 600 может быть лучше уменьшить масштабировать , используя впоследствии GD или imagemagick.

2 голосов
/ 03 мая 2011

Вы не можете сделать это в чистом PHP, вам всегда нужен внешний рендер, чтобы получить хороший результат.

Лучше всего будет использовать внешний сервис, такой как browsershots.org API , таким образом вы не будете создавать дополнительную нагрузку на свой сервер.

Если у вас есть ресурсы для записи, вы можете использовать другой метод (все еще работающий на вашем сервере, но не PHP), который называется wkhtmltoimage, как в ответ Марио . Просто помните, что это не рекомендуется (на самом деле, вероятно, даже невозможно) на виртуальном хостинге.

...