Converter documentos Word ricos em HTML pronto para a web é uma necessidade frequente para aplicações modernas em PHP. GroupDocs.Conversion Cloud SDK for PHP fornece uma API poderosa que lida com o processamento pesado na nuvem. Neste tutorial demonstramos a conversão de DOCX para HTML em PHP usando o SDK. Você aprenderá como configurar a biblioteca, executar um exemplo de código completo e realizar a mesma conversão com chamadas cURL.

Como Converter DOCX para HTML em PHP - Passo a Passo

  1. Instale o SDK via Composer: Adicione a biblioteca ao seu projeto com o comando oficial do Composer.
composer require groupdocs-conversion-cloud
  1. Inicializar a Configuração: Crie um objeto Configuration e defina seu App SID e a App Key.
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. Configurar opções de conversão HTML: Ajuste configurações como extração de imagens e manipulação 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. Create Convert Settings: Defina o arquivo de origem, o formato de destino e anexe as opções HTML.
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
  1. Execute a Conversão: Chame o método convertDocument e trate o 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 mais detalhes sobre cada classe e método, consulte a referência da API.

Exemplo de Código Completo: Gerar HTML a partir de DOCX em PHP

O exemplo a seguir demonstra uma conversão completa de ponta a ponta usando o 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 exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar os caminhos dos arquivos (sample.docx, output.html) para corresponderem às suas localizações reais, verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Convertendo arquivos DOCX para HTML usando cURL e a API REST

O SDK também oferece um endpoint REST que pode ser chamado com cURL. Abaixo está o fluxo de trabalho típico.

  1. Obter um Token de Acesso
    Substitua YOUR_CLIENT_ID e YOUR_CLIENT_SECRET pelas suas credenciais.

    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. Carregar o arquivo DOCX
    Use o token da etapa 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 a Conversão
    Solicite a conversão para 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
           }
         }'
  1. Baixar o 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 obter uma lista completa de parâmetros, consulte a documentação oficial da API.

Instalando e Configurando GroupDocs.Conversion Cloud SDK para PHP

composer require groupdocs-conversion-cloud

Baixe o pacote mais recente na página de lançamentos. O SDK requer PHP 7.4 ou superior e uma conta ativa do GroupDocs Cloud com credenciais 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 para HTML

  • Extração de Imagens - extractImages permite extrair imagens incorporadas em arquivos separados, preservando a fidelidade do layout.
  • Controle de Numeração de Páginas - preserveOriginalPageNumbers pode ser desativado para produzir um fluxo HTML contínuo.
  • Saída HTML Simples - Definir zipOutput como false gera um único arquivo HTML em vez de um ZIP archive, simplificando o processamento subsequente.
  • Manipulação de Texto Oculto - showHiddenText determina se o conteúdo oculto aparece no HTML final.
  • Renderização em Página Única - renderToSinglePage pode combinar todas as páginas em um único documento HTML para facilitar a incorporação.

Todos os recursos são descritos na documentação.

Conclusão

Converter DOCX para HTML em PHP torna‑se simples com o GroupDocs.Conversion Cloud SDK for PHP. A biblioteca lida com formatação complexa, extração de imagens e gerenciamento de páginas sem exigir o Microsoft Office no servidor. Depois de seguir as etapas acima, você pode integrar a conversão de DOCX para HTML em qualquer fluxo de trabalho baseado em PHP, seja usando chamadas nativas do SDK ou solicitações RESTful cURL. Lembre‑se de adquirir uma licença adequada para uso em produção; detalhes de preços estão disponíveis na página de licença temporária. Comece a converter hoje e entregue conteúdo rico e pronto para a web aos seus usuários.

Perguntas Frequentes

  • Como implemento DOCX para HTML em PHP sem instalar software adicional?
    O SDK baseado em nuvem realiza todo o processamento nos servidores da GroupDocs, portanto você só precisa da biblioteca PHP e das suas credenciais.

  • Posso converter vários arquivos DOCX em uma única solicitação?
    A API suporta conversão em lote percorrendo os arquivos no seu código; cada chamada retorna seu próprio resultado HTML.

  • O que acontece com as imagens dentro do arquivo DOCX?
    Com extractImages habilitado, as imagens são salvas como arquivos separados e referenciadas no HTML gerado, permitindo que você as sirva diretamente.

  • Existe uma maneira de personalizar o layout HTML gerado?
    Você pode pós‑processar a saída HTML ou ajustar as opções de conversão, como renderToSinglePage, para influenciar a estrutura.

Read More