Generar HTML a PNG en PHP es una necesidad común para crear miniaturas, vistas previas de correos electrónicos e informes. Aspose.HTML Cloud SDK for PHP ofrece una biblioteca potente que hace que la conversión del lado del servidor sea sencilla. En esta guía aprenderá cómo configurar el SDK, establecer opciones de conversión, ejecutar un ejemplo de código completo y realizar la misma tarea con llamadas REST cURL para flujos de trabajo automatizados.

Conversión de HTML a PNG en PHP - Guía paso a paso

  1. Instalar el SDK mediante Composer: Utilice el comando oficial de Composer para agregar la biblioteca a su proyecto.
composer require aspose-html-cloud
  1. Configure sus credenciales de Aspose Cloud: Cree un objeto Configuration y establezca su AppSid y AppKey.
$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. Inicializar la API de conversión: Instanciar ConvertApi con el objeto de configuración.
$convertApi = new ConvertApi($config);
  1. Establecer opciones de conversión: Defina el formato de salida, dimensiones, calidad y color de fondo usando ConvertOptions.
$options = new ConvertOptions();
$options->setOutputFormat('png');
$options->setWidth(1024);
$options->setHeight(0);               // Preserve aspect ratio
$options->setQuality(90);
$options->setBackgroundColor('#FFFFFF');
  1. Realizar la conversión: Llame a convertLocal con el archivo HTML de origen y la ruta PNG de destino.
try {
    $convertApi->convertLocal($inputHtmlPath, $outputPngPath, $options);
    echo "Conversion successful: {$outputPngPath}\n";
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . "\n";
}

Para obtener información detallada sobre clases y métodos, consulte la referencia de API.

HTML a PNG en PHP - Ejemplo de código completo

Este ejemplo muestra cómo convertir un archivo HTML local a una imagen PNG usando el 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
// -----------------------------------------------------------------------------
?>

Nota: Este ejemplo de código muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de archivo (sample.html, sample.png, etc.) para que coincidan con sus ubicaciones reales, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.

Convertir HTML a PNG usando cURL y la API REST

Los siguientes comandos cURL muestran cómo lograr la misma conversión de HTML a PNG usando la API REST de Aspose.HTML Cloud.

  1. Obtener un token de acceso (reemplaza los marcadores de posición con tus credenciales de cliente).
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"
  1. Cargue el archivo HTML de origen al almacenamiento.
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"
  1. Solicitar la conversión a 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"}'
  1. Descargar el archivo PNG generado.
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/sample.png" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o sample.png

Para obtener una lista completa de parámetros y opciones adicionales, consulte la documentación oficial de la API.

Requisitos previos y configuración para Aspose.HTML Cloud SDK for PHP

Antes de comenzar, asegúrese de tener:

  • PHP 7.4 o posterior instalado.
  • Composer instalado en su máquina de desarrollo.
  • Una cuenta de Aspose Cloud con AppSid y AppKey válidos.

Instale el SDK usando Composer:

composer require aspose-html-cloud

Puede descargar el paquete más reciente desde la página oficial de lanzamientos: Aspose.HTML Cloud SDK for PHP Release.

Configure sus credenciales como se muestra en la sección de pasos, luego estará listo para comenzar a convertir HTML a PNG.

Conclusión

Convertir HTML a PNG en PHP se vuelve sencillo con el Aspose.HTML Cloud SDK for PHP. La biblioteca se encarga del renderizado, escalado y optimización de imágenes en el lado del servidor, eliminando la necesidad de un navegador o herramientas externas. Siguiendo la guía paso a paso, puedes integrar la generación de PNG de alta calidad en cualquier aplicación PHP, ya sea para la creación de miniaturas, renderizado de correos electrónicos o generación de informes. Recuerda adquirir una licencia adecuada para uso en producción; los detalles de precios están disponibles en la página del producto, y se puede obtener una licencia temporal desde la página de licencia temporal mientras evalúas la biblioteca.

FAQs

  • ¿Cómo funciona HTML a PNG en PHP sin un navegador?
    El Aspose.HTML Cloud SDK for PHP renderiza HTML usando su propio motor de renderizado en el servidor, por lo que no se requiere un navegador ni Chrome sin cabeza.

  • ¿Puedo controlar las dimensiones y la calidad de la imagen?
    Sí. Use la clase ConvertOptions para establecer el ancho, la altura, la calidad (0‑100) y el color de fondo antes de llamar a la Convert API.

  • ¿Es posible convertir por lotes varios archivos HTML a PNG?
    Absolutamente. Recorra su lista de archivos, reutilice la misma instancia ConvertApi y ajuste las rutas de entrada y salida en cada iteración.

  • ¿Qué licencia se necesita para proyectos comerciales?
    Se requiere una licencia de pago para producción. Puede ver los precios en la página del producto y obtener una licencia de evaluación temporal desde la página de licencia temporal.

Leer más