La conversion de documents Word riches en HTML prêt pour le Web est un besoin fréquent pour les applications modernes en PHP. Le GroupDocs.Conversion Cloud SDK for PHP offre une API puissante qui gère le travail lourd dans le cloud. Dans ce tutoriel, nous démontrons la conversion de DOCX vers HTML en PHP en utilisant le SDK. Vous apprendrez comment configurer la bibliothèque, exécuter un exemple de code complet et effectuer la même conversion avec des appels cURL.

Comment convertir DOCX en HTML avec PHP - Étape par étape

  1. Installez le SDK via Composer : Ajoutez la bibliothèque à votre projet avec la commande officielle Composer.
composer require groupdocs-conversion-cloud
  1. Initialiser la configuration : Créez un objet Configuration et définissez votre SID d’application ainsi que votre clé d’application.
$config = new GroupDocs\Conversion\Cloud\Configuration();
$config->setAppSid('YOUR_APP_SID');
$config->setAppKey('YOUR_APP_KEY');
  1. Configurer les options de conversion HTML : Ajustez les paramètres tels que l’extraction d’images et la gestion des numéros de page.
$htmlOptions = new GroupDocs\Conversion\Cloud\Model\HtmlConvertOptions();
$htmlOptions->setExtractImages(true);
$htmlOptions->setPreserveOriginalPageNumbers(false);
$htmlOptions->setZipOutput(false);
$htmlOptions->setShowHiddenText(false);
$htmlOptions->setRenderToSinglePage(false);
  1. Créer les paramètres de conversion : Définissez le fichier source, le format cible et joignez les options HTML.
$convertSettings = new GroupDocs\Conversion\Cloud\Model\ConvertSettings();
$convertSettings->setFilePath('sample.docx');
$convertSettings->setOutputPath('output.html');
$convertSettings->setFormat('html');
$convertSettings->setOptions($htmlOptions);
  1. Exécuter la conversion : Appelez la méthode convertDocument et gérez le résultat.
$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;
}

Pour plus de détails sur chaque classe et méthode, consultez la référence API.

Exemple complet de code : générer du HTML à partir de DOCX en PHP

L’exemple suivant montre une conversion complète de bout en bout utilisant le 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;
}

Note : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour les chemins de fichiers (sample.docx, output.html) pour qu’ils correspondent à vos emplacements réels, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.

Conversion de fichiers DOCX en HTML à l’aide de cURL et de l’API REST

Le SDK propose également un point de terminaison REST qui peut être appelé avec cURL. Voici le flux de travail typique.

  1. Obtenir un jeton d’accès
    Remplacez YOUR_CLIENT_ID et YOUR_CLIENT_SECRET par vos informations d’identification.

    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. Téléverser le fichier DOCX
    Utilisez le jeton de l’étape précédente.

    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. Démarrer la conversion
    Demander la conversion en 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. Télécharger le HTML résultant

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

Pour une liste complète des paramètres, consultez la documentation officielle de l’API.

Installation et configuration de GroupDocs.Conversion Cloud SDK for PHP

composer require groupdocs-conversion-cloud

Téléchargez le dernier package depuis la page de publication. Le SDK nécessite PHP 7.4 ou une version ultérieure ainsi qu’un compte GroupDocs Cloud actif avec des informations d’identification valides.

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 Fonctionnalités pour DOCX vers HTML

  • Extraction d’images - extractImages vous permet d’extraire les images intégrées dans des fichiers séparés, en préservant la fidélité de la mise en page.
  • Contrôle du numéro de page - preserveOriginalPageNumbers peut être désactivé pour produire un flux HTML continu.
  • Sortie HTML simple - En définissant zipOutput sur false, vous générez un fichier HTML unique au lieu d’une archive ZIP , simplifiant le traitement en aval.
  • Gestion du texte masqué - showHiddenText détermine si le contenu masqué apparaît dans le HTML final.
  • Rendu en page unique - renderToSinglePage peut combiner toutes les pages en un seul document HTML pour faciliter l’intégration.

Toutes les fonctionnalités sont décrites dans la documentation.

Conclusion

La conversion de DOCX en HTML en PHP devient simple avec le GroupDocs.Conversion Cloud SDK for PHP. La bibliothèque gère le formatage complexe, l’extraction d’images et la gestion des pages sans nécessiter Microsoft Office sur le serveur. Après avoir suivi les étapes ci‑dessus, vous pouvez intégrer la conversion DOCX vers HTML dans n’importe quel flux de travail basé sur PHP, que vous préfériez les appels natifs du SDK ou les requêtes RESTful cURL. N’oubliez pas d’obtenir une licence appropriée pour une utilisation en production ; les détails de tarification sont disponibles sur la page de licence temporaire. Commencez la conversion dès aujourd’hui et fournissez un contenu riche, prêt pour le web, à vos utilisateurs.

FAQ

  • Comment implémenter DOCX en HTML en PHP sans installer de logiciel supplémentaire ?
    Le SDK basé sur le cloud effectue tout le traitement sur les serveurs GroupDocs, vous n’avez besoin que de la bibliothèque PHP et de vos identifiants.

  • Puis-je convertir plusieurs fichiers DOCX en une seule requête ?
    L’API prend en charge la conversion par lots en parcourant les fichiers dans votre code ; chaque appel renvoie son propre résultat HTML.

  • Que se passe-t-il avec les images à l’intérieur du fichier DOCX ?
    Avec extractImages activé, les images sont enregistrées en tant que fichiers séparés et référencées dans le HTML généré, vous permettant de les servir directement.

  • Existe-t-il un moyen de personnaliser la mise en page HTML générée ?
    Vous pouvez post‑traiter la sortie HTML ou ajuster les options de conversion telles que renderToSinglePage pour influencer la structure.

En savoir plus