Convertir documentos Word enriquecidos en HTML listo para la web es una necesidad frecuente para aplicaciones modernas de PHP. GroupDocs.Conversion Cloud SDK for PHP proporciona una API potente que realiza el trabajo pesado en la nube. En este tutorial demostramos la conversión de DOCX a HTML en PHP usando el SDK. Aprenderá cómo configurar la biblioteca, ejecutar un ejemplo de código completo y realizar la misma conversión con llamadas cURL.

Cómo convertir DOCX a HTML en PHP - Paso a paso

  1. Instalar el SDK mediante Composer: Agregue la biblioteca a su proyecto con el comando oficial de Composer.
composer require groupdocs-conversion-cloud
  1. Inicializar la Configuración: Cree un objeto Configuration y establezca su App SID y la clave de la aplicación.
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. Configurar opciones de conversión HTML: Ajuste la configuración, como la extracción de imágenes y el manejo de números de página.
$htmlOptions = new GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions();
$htmlOptions->setExtractImages(true);
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
  1. Crear Configuración de Conversión: Defina el archivo de origen, el formato de destino y adjunte las opciones HTML.
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
  1. Ejecutar la conversión: Llame al método convertDocument y maneje el resultado.
$convertApi = new GroupDocs\Conversion\Cloud\Api\ConvertApi($config);
try {
    $result = $convertApi->convertDocument($convertSettings);
    echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}

Para obtener más detalles sobre cada clase y método, consulte la referencia de API.

Ejemplo completo de código: Generar HTML a partir de DOCX en PHP

El siguiente ejemplo muestra una conversión completa de extremo a extremo usando el SDK.

<?php
require __DIR__ . '/vendor/autoload.php';

use GroupDocs\Conversion\Cloud\Configuration;
use GroupDocs\Conversion\Cloud\Api\ConvertApi;
use GroupDocs\Conversion\Cloud\Model\ConvertSettings;
use GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions;

$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');

$convertApi = new ConvertApi($config);

$inputFilePath  = 'sample.docx';
$outputFilePath = 'output.html';

$htmlOptions = new HtmlConvertOptions();
$htmlOptions->setExtractImages(true);               // extract images to separate files
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);                  // generate plain HTML, not a zip archive
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);

$convertSettings = new ConvertSettings();
$convertSettings->setFilePath($inputFilePath);
$convertSettings->setOutputPath($outputFilePath);
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);

try {
    $result = $convertApi->convertDocument($convertSettings);
    echo "Conversion succeeded. HTML file saved to: " . $result->getPath() . PHP_EOL;
} catch (Exception $e) {
    echo "Conversion failed: " . $e->getMessage() . PHP_EOL;
}

Nota: Este ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de los archivos (sample.docx, output.html) para que coincidan con la ubicación real de sus archivos, 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 archivos DOCX a HTML usando cURL y la API REST

El SDK también ofrece un endpoint REST que se puede llamar con cURL. A continuación se muestra el flujo de trabajo típico.

  1. Obtener un token de acceso
    Reemplace YOUR_CLIENT_ID y YOUR_CLIENT_SECRET con sus credenciales.

    curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
         -H "Content-Type: application/json" \
         -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
    
  2. Cargar el archivo DOCX
    Utilice el token del paso anterior.

    curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/storage/file/sample.docx" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@sample.docx"
    
  3. Iniciar la conversión
    Solicitar la conversión a HTML.

    curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{
               "filePath": "sample.docx",
               "outputPath": "output.html",
               "format": "html",
               "options": {
                   "extractImages": true,
                   "zipOutput": false
               }
             }'
    
  4. Descargar el HTML resultante

    curl -X GET "https://api.groupdocs.cloud/v2.0/conversion/storage/file/output.html" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.html
    

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

Instalación y configuración de GroupDocs.Conversion Cloud SDK for PHP

composer require groupdocs-conversion-cloud

Descargue el paquete más reciente desde la página de lanzamientos. El SDK requiere PHP 7.4 o posterior y una cuenta activa de GroupDocs Cloud con credenciales válidas.

require __DIR__ . '/vendor/autoload.php';

use GroupDocs\Conversion\Cloud\Configuration;

$config = new Configuration();
$config->setAppSid('YOUR_APP_SID');   // obtain from your GroupDocs Cloud dashboard
$config->setAppKey('YOUR_APP_KEY');

GroupDocs.Conversion Cloud SDK for PHP Capacidades para DOCX a HTML

  • Extracción de imágenes - extractImages le permite extraer imágenes incrustadas en archivos separados, conservando la fidelidad del diseño.
  • Control de numeración de páginas - preserveOriginalPageNumbers puede desactivarse para producir un flujo continuo de HTML.
  • Salida HTML simple - Configurar zipOutput a false genera un único archivo HTML en lugar de un archivo ZIP comprimido, simplificando el procesamiento posterior.
  • Manejo de texto oculto - showHiddenText determina si el contenido oculto aparece en el HTML final.
  • Renderizado de una sola página - renderToSinglePage puede combinar todas las páginas en un documento HTML único para una inserción más fácil.

Todas las funciones se describen en la documentación.

Conclusión

Convertir DOCX a HTML en PHP se vuelve sencillo con el GroupDocs.Conversion Cloud SDK for PHP. La biblioteca maneja el formato complejo, la extracción de imágenes y la gestión de páginas sin requerir Microsoft Office en el servidor. Después de seguir los pasos anteriores, puedes integrar la conversión de DOCX a HTML en cualquier flujo de trabajo basado en PHP, ya sea que prefieras llamadas nativas al SDK o solicitudes RESTful cURL. Recuerda obtener una licencia adecuada para uso en producción; los detalles de precios están disponibles en la página de licencia temporal. Comienza a convertir hoy y entrega contenido rico y listo para la web a tus usuarios.

Preguntas frecuentes

  • ¿Cómo implemento DOCX a HTML en PHP sin instalar software adicional?
    El SDK basado en la nube realiza todo el procesamiento en los servidores de GroupDocs, por lo que solo necesita la biblioteca PHP y sus credenciales.

  • ¿Puedo convertir varios archivos DOCX en una sola solicitud?
    La API admite la conversión por lotes al iterar sobre los archivos en su código; cada llamada devuelve su propio resultado HTML.

  • ¿Qué ocurre con las imágenes dentro del archivo DOCX?
    Con extractImages habilitado, las imágenes se guardan como archivos separados y se hacen referencia en el HTML generado, lo que permite servirlas directamente.

  • ¿Hay alguna forma de personalizar el diseño HTML generado?
    Puede post‑procesar la salida HTML o ajustar las opciones de conversión, como renderToSinglePage, para influir en la estructura.

Leer más