Convertire documenti Word ricchi in web‑ready HTML è una necessità frequente per le moderne applicazioni PHP. GroupDocs.Conversion Cloud SDK for PHP fornisce un’API potente che gestisce il lavoro pesante nel cloud. In questo tutorial dimostriamo la conversione da DOCX a HTML in PHP utilizzando l’SDK. Imparerai come configurare la libreria, eseguire un esempio di codice completo e effettuare la stessa conversione con chiamate cURL.

Come convertire DOCX in HTML in PHP - Passo dopo passo

  1. Installa l’SDK tramite Composer: Aggiungi la libreria al tuo progetto con il comando ufficiale di Composer.
composer require groupdocs-conversion-cloud
  1. Inizializzare la configurazione: Creare un oggetto Configuration e impostare il proprio App SID e la App Key.
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. Configura le opzioni di conversione HTML: Regola le impostazioni come l’estrazione delle immagini e la gestione dei numeri di pagina.
$htmlOptions = new GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions();
$htmlOptions->setExtractImages(true);
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
  1. Crea le impostazioni di conversione: Definisci il file di origine, il formato di destinazione e allega le opzioni HTML.
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
  1. Esegui la conversione: chiama il metodo convertDocument e gestisci il risultato.
$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;
}

Per ulteriori dettagli su ciascuna classe e metodo, fare riferimento al riferimento API.

Esempio di codice completo: Genera HTML da DOCX in PHP

Il seguente esempio dimostra una conversione completa end‑to‑end utilizzando l’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: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (sample.docx, output.html) per corrispondere alle tue effettive posizioni, verifica che tutte le dipendenze richieste siano installate correttamente e testa accuratamente nel tuo ambiente di sviluppo. Se riscontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Conversione di file DOCX in HTML usando cURL e l’API REST

L’SDK offre anche un endpoint REST che può essere chiamato con cURL. Di seguito è il tipico flusso di lavoro.

  1. Ottieni un token di accesso
    Sostituisci YOUR_CLIENT_ID e YOUR_CLIENT_SECRET con le tue credenziali.

    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. Carica il file DOCX
    Usa il token del passaggio precedente.

    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. Avvia la conversione
    Richiedi la conversione in 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. Scarica l’HTML risultante
curl -X GET "https://api.groupdocs.cloud/v2.0/conversion/storage/file/output.html" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.html

Per un elenco completo dei parametri, consulta la documentazione ufficiale dell’API.

Installazione e configurazione di GroupDocs.Conversion Cloud SDK for PHP

composer require groupdocs-conversion-cloud

Scarica l’ultimo pacchetto dalla pagina di rilascio. L’SDK richiede PHP 7.4 o versioni successive e un account attivo di GroupDocs Cloud con credenziali valide.

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 Capacità per DOCX a HTML

  • Estrazione delle immagini - extractImages consente di estrarre le immagini incorporate in file separati, preservando la fedeltà del layout.
  • Controllo del numero di pagina - preserveOriginalPageNumbers può essere disabilitato per produrre un flusso HTML continuo.
  • Output HTML semplice - Impostare zipOutput su false genera un singolo file HTML invece di un archivio ZIP , semplificando l’elaborazione successiva.
  • Gestione del testo nascosto - showHiddenText determina se il contenuto nascosto appare nell’HTML finale.
  • Rendering a pagina singola - renderToSinglePage può combinare tutte le pagine in un unico documento HTML per un’integrazione più semplice.

Tutte le funzionalità sono descritte nella documentazione.

Conclusione

La conversione di DOCX in HTML in PHP diventa semplice con il GroupDocs.Conversion Cloud SDK for PHP. La libreria gestisce formattazioni complesse, estrazione di immagini e gestione delle pagine senza richiedere Microsoft Office sul server. Dopo aver seguito i passaggi sopra, puoi integrare la conversione da DOCX a HTML in qualsiasi flusso di lavoro basato su PHP, sia che tu preferisca chiamate native SDK o richieste RESTful cURL. Ricorda di acquisire una licenza adeguata per l’uso in produzione; i dettagli dei prezzi sono disponibili sulla pagina di licenza temporanea. Inizia a convertire oggi e fornisci contenuti ricchi e pronti per il web ai tuoi utenti.

FAQs

  • Come implementare DOCX to HTML in PHP senza installare software aggiuntivo?
    L’SDK basato su cloud esegue tutta l’elaborazione sui server di GroupDocs, quindi hai bisogno solo della libreria PHP e delle tue credenziali.

  • Posso convertire più file DOCX in una singola richiesta?
    L’API supporta la conversione batch eseguendo un ciclo sui file nel tuo codice; ogni chiamata restituisce il proprio risultato HTML.

  • Cosa succede alle immagini all’interno del file DOCX?
    Con extractImages abilitato, le immagini vengono salvate come file separati e referenziate nell’HTML generato, consentendoti di servirle direttamente.

  • C’è un modo per personalizzare il layout HTML generato?
    È possibile post‑processare l’output HTML o regolare le opzioni di conversione come renderToSinglePage per influenzare la struttura.

Leggi di più