Как создать изображение веб-страницы на PHP?


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

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

Спасибо!

Author: Community, 2011-05-03

2 answers

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

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

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

 7
Author: mario, 2011-05-03 17:24:46

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

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

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

 2
Author: Rudi Visser, 2017-05-23 12:32:26