Генерация HTML в PNG с помощью PHP — распространённая задача для создания миниатюр, предварительных просмотров писем и отчетов. Aspose.HTML Cloud SDK for PHP предоставляет мощную библиотеку, упрощающую сервер‑сайд конвертацию. В этом руководстве вы узнаете, как настроить SDK, сконфигурировать параметры конвертации, запустить полный пример кода и выполнить ту же задачу с помощью cURL REST‑запросов для автоматизированных рабочих процессов.
Преобразование HTML в PNG в PHP - Пошаговое руководство
- Установите SDK через Composer: Используйте официальную команду Composer, чтобы добавить библиотеку в ваш проект.
composer require aspose-html-cloud
- Настройте свои учетные данные Aspose Cloud: Создайте объект
Configurationи задайте своиAppSidиAppKey.
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
- Инициализировать Convert API: Создайте экземпляр
ConvertApiс объектом конфигурации.
$convertApi = new ConvertApi($config);
- Установить параметры конвертации: Определите формат вывода, размеры, качество и цвет фона, используя
ConvertOptions.
$options = new ConvertOptions();
$options->setOutputFormat('png');
$options->setWidth(1024);
$options->setHeight(0); // Preserve aspect ratio
$options->setQuality(90);
$options->setBackgroundColor('#FFFFFF');
- Выполните преобразование: Вызовите
convertLocalс исходным HTML‑файлом и целевым путём PNG.
try {
$convertApi->convertLocal($inputHtmlPath, $outputPngPath, $options);
echo "Conversion successful: {$outputPngPath}\n";
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . "\n";
}
Для получения подробной информации о классах и методах обратитесь к справке API.
HTML в PNG на PHP — полный пример кода
Этот пример демонстрирует, как преобразовать локальный HTML‑файл в изображение PNG с использованием Aspose.HTML Cloud SDK for PHP.
<?php
require __DIR__ . '/vendor/autoload.php';
use Aspose\HTML\Cloud\Configuration;
use Aspose\HTML\Cloud\Api\ConvertApi;
use Aspose\HTML\Cloud\Model\ConvertOptions;
// -----------------------------------------------------------------------------
// Configuration – replace with your actual Aspose Cloud credentials
// -----------------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
// -----------------------------------------------------------------------------
// Initialize the Convert API
// -----------------------------------------------------------------------------
$convertApi = new ConvertApi($config);
// -----------------------------------------------------------------------------
// Define source HTML and destination PNG paths (generic, adjust as needed)
// -----------------------------------------------------------------------------
$inputHtmlPath = __DIR__ . '/sample.html';
$outputPngPath = __DIR__ . '/sample.png';
// -----------------------------------------------------------------------------
// Set conversion options – adjust width/height, quality, and background color
// -----------------------------------------------------------------------------
$options = new ConvertOptions();
$options->setOutputFormat('png'); // Target format
$options->setWidth(1024); // Desired width (pixels)
$options->setHeight(0); // Height 0 preserves aspect ratio
$options->setQuality(90); // PNG compression level (0‑100)
$options->setBackgroundColor('#FFFFFF'); // Optional background for transparent pages
// -----------------------------------------------------------------------------
// Perform the conversion
// -----------------------------------------------------------------------------
try {
$convertApi->convertLocal($inputHtmlPath, $outputPngPath, $options);
echo "Conversion successful: {$outputPngPath}\n";
} catch (Exception $e) {
echo "Conversion failed: " . $e->getMessage() . "\n";
}
// -----------------------------------------------------------------------------
// No explicit cleanup required – SDK handles temporary resources internally
// -----------------------------------------------------------------------------
?>
Примечание: Этот пример кода демонстрирует базовую функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
sample.html,sample.pngи т.д.), чтобы они соответствовали реальному расположению ваших файлов, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если возникнут проблемы, обратитесь к официальной документации или свяжитесь с службой поддержки для получения помощи.
Преобразование HTML в PNG с помощью cURL и REST API
Следующие команды cURL показывают, как выполнить ту же конверсию HTML в PNG с использованием Aspose.HTML Cloud REST API.
- Получите токен доступа (замените заполнители вашими учетными данными клиента).
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Загрузите исходный HTML‑файл в хранилище.
curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: text/html" \
--data-binary "@sample.html"
- Запрос конвертации в PNG.
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=png&width=1024&quality=90&backgroundColor=%23FFFFFF" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"sample.html","outputPath":"sample.png"}'
- Скачайте сгенерированный PNG файл.
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/sample.png" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample.png
Для полного списка параметров и дополнительных опций см. официальную документацию API.
Требования и настройка Aspose.HTML Cloud SDK for PHP
Прежде чем начать, убедитесь, что у вас есть:
- PHP 7.4 или новее установлен.
- Composer установлен на вашей машине разработки.
- Учётная запись Aspose Cloud с действительными
AppSidиAppKey.
Установите SDK с помощью Composer:
composer require aspose-html-cloud
Вы можете загрузить последнюю версию пакета со страницы официального релиза: Aspose.HTML Cloud SDK for PHP Release.
Настройте свои учетные данные, как показано в разделе шагов, и вы будете готовы начать преобразование HTML в PNG.
Заключение
Преобразование HTML в PNG в PHP становится простым с помощью Aspose.HTML Cloud SDK for PHP. Библиотека обрабатывает рендеринг, масштабирование и оптимизацию изображений на стороне сервера, устраняя необходимость в браузере или внешних инструментах. Следуя пошаговому руководству, вы можете интегрировать генерацию PNG высокого качества в любое PHP‑приложение, будь то создание миниатюр, рендеринг электронных писем или генерация отчетов. Не забудьте получить соответствующую лицензию для использования в продакшене; детали ценообразования доступны на странице продукта, а временную лицензию можно получить со страницы временной лицензии во время оценки библиотеки.
Часто задаваемые вопросы
-
Как работает HTML в PNG в PHP без браузера?
Aspose.HTML Cloud SDK for PHP рендерит HTML, используя собственный движок рендеринга на сервере, поэтому браузер или безголовый Chrome не требуются. -
Могу ли я управлять размерами и качеством изображения?
Да. Используйте классConvertOptions, чтобы задать ширину, высоту, качество (0‑100) и цвет фона перед вызовом Convert API. -
Можно ли пакетно конвертировать несколько HTML‑файлов в PNG?
Конечно. Пройдите по списку файлов, повторно используйте тот же экземплярConvertApiи скорректируйте пути входных и выходных файлов для каждой итерации. -
Какое лицензирование требуется для коммерческих проектов?
Для продакшн‑использования требуется платная лицензия. Вы можете посмотреть цены на странице продукта и получить временную оценочную лицензию со страницы временной лицензии.