Конвертировать HTML в изображение в PHP - PullRequest
2 голосов
/ 16 марта 2012

Мне нужно создать изображение PNG / JPEG из PHP-скрипта. Кратко

Код создаст HTML-таблицу и включит изображение на этой странице. Мне нужно сохранить всю эту страницу как изображение, сохранить это изображение на моем сервере и вернуть путь к изображению (используя веб-сервис).

Я могу очень хорошо создать изображение из функции imagejpg. Моя проблема в том, как преобразовать этот HTML в изображение, не могу сделать снимок экрана, потому что процессы происходят через веб-сервисы.

Пожалуйста, помогите мне преобразовать HTML в изображение, используя php

Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 29 марта 2012

Вы можете скачать wkhtmltoimage с по этой ссылке . Существует версия для всех операционных систем, так что проблем не должно быть. Тогда вы можете использовать его так:

$path="wkhtmltoimg/wkhtmltoimage.exe"; //path to your executable
$url="http://google.com";
$output_path="test.png";
shell_exec("$path $url $output_path");

Следует отметить, что если PHP находится в безопасном режиме, shell_exec не будет работать и вы не сможете выполнить преобразование.

1 голос
/ 11 мая 2017

Вы можете использовать PHP PhantomJS , чтобы сохранить снимок экрана HTML-страницы на локальном диске:

<?php

use JonnyW\PhantomJs\Client;

$client = Client::getInstance();

$width  = 800;
$height = 600;
$top    = 0;
$left   = 0;

$request = $client->getMessageFactory()->createCaptureRequest('http://example.com', 'GET');
$request->setOutputFile('/path/to/save/capture/file.jpg');
$request->setViewportSize($width, $height);
$request->setCaptureDimensions($width, $height, $top, $left);

$response = $client->getMessageFactory()->createResponse();

// Send the request
$client->send($request, $response);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...