La conversion de documents DOCX en HTML est un besoin fréquent lors de la création de solutions de reporting ou de gestion de contenu basées sur le Web. Le GroupDocs.Conversion Cloud SDK for Python permet aux développeurs d’automatiser la conversion de DOCX en HTML en Python avec seulement quelques appels d’API. Dans ce tutoriel, vous configurerez le SDK, parcourrez une implémentation étape par étape, verrez un exemple de code complet et apprendrez à ajuster finement la sortie pour des pages Web réactives.
Exigences pour la conversion de DOCX en HTML en Python
Les développeurs qui créent des applications web basées sur des documents reçoivent souvent des fichiers DOCX de la part des utilisateurs et doivent afficher leur contenu instantanément dans les navigateurs. Les exigences typiques sont :
- Conservez le style original, les tableaux et les images lors du rendu en HTML.
- Générez un balisage qui s’adapte à différentes tailles d’écran sans travail supplémentaire en CSS.
- Effectuez la conversion dans un environnement côté serveur sans installer de suites bureautiques lourdes.
La conversion manuelle à l’aide d’outils de bureau ou de bibliothèques open‑source peut être source d’erreurs, surtout pour les mises en page complexes, et ne s’adapte pas aux charges de travail API à haut volume.
L’approche : automatiser la conversion DOCX en HTML
GroupDocs.Conversion Cloud SDK for Python offre une API basée sur le cloud qui prend en charge le travail lourd de la transformation de formats. Les principales capacités qui répondent aux exigences sont :
- Conserver le style - le moteur conserve les polices, les couleurs et la mise en forme des paragraphes intacts.
- Sortie HTML réactive - les options intégrées génèrent des mises en page fluides adaptées aux appareils mobiles.
- Interface REST évolutive - vous pouvez appeler le service depuis n’importe quelle application Python sans gérer les binaires de conversion locaux.
Pour une utilisation détaillée de l’API, consultez la documentation officielle et la référence API.
Construction de la solution : conversion DOCX en HTML avec Python
Installer le SDK et importer les classes requises
pip install groupdocs-conversion-cloud
from groupdocs_conversion_cloud import (
ConvertApi, ConvertSettings, HtmlOptions,
StorageApi, FileInfo, Configuration, ApiClient
)
Configurer le client API avec des informations d’identification
config = Configuration()
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
api_client = ApiClient(configuration=config)
convert_api = ConvertApi(api_client)
storage_api = StorageApi(api_client)
Téléverser le fichier source DOCX
# Assume 'sample.docx' is in the local folder
with open("sample.docx", "rb") as file:
storage_api.upload_file(path="input/sample.docx", file=file)
Convertir DOCX en HTML réactif
file_info = FileInfo()
file_info.file_path = "input/sample.docx"
html_options = HtmlOptions()
html_options.responsive = True # Enable responsive layout
html_options.embed_fonts = True # Embed custom fonts if any
convert_settings = ConvertSettings()
convert_settings.file_info = file_info
convert_settings.format = "html"
convert_settings.options = html_options
result = convert_api.convert_document(convert_settings)
# The result contains the URL of the generated HTML file
print("HTML file URL:", result.path)
Télécharger le fichier HTML généré
output_path = "output/sample.html"
with open(output_path, "wb") as out_file:
storage_api.download_file(path=result.path, out_file=out_file)
print("HTML saved to:", output_path)
Exemple complet de code : Conversion DOCX en HTML avec sortie réactive
Le script suivant regroupe toutes les étapes en un seul programme exécutable.
from groupdocs_conversion_cloud import (
ConvertApi, ConvertSettings, HtmlOptions,
StorageApi, FileInfo, Configuration, ApiClient
)
def main():
# 1. Configure the client
config = Configuration()
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
api_client = ApiClient(configuration=config)
convert_api = ConvertApi(api_client)
storage_api = StorageApi(api_client)
# 2. Upload DOCX file
local_file = "sample.docx"
remote_path = "input/sample.docx"
with open(local_file, "rb") as f:
storage_api.upload_file(path=remote_path, file=f)
# 3. Prepare conversion settings
file_info = FileInfo()
file_info.file_path = remote_path
html_options = HtmlOptions()
html_options.responsive = True
html_options.embed_fonts = True
settings = ConvertSettings()
settings.file_info = file_info
settings.format = "html"
settings.options = html_options
# 4. Execute conversion
result = convert_api.convert_document(settings)
print("Conversion completed. HTML URL:", result.path)
# 5. Download the HTML result
output_file = "sample_converted.html"
with open(output_file, "wb") as out:
storage_api.download_file(path=result.path, out_file=out)
print("HTML saved to:", output_file)
if __name__ == "__main__":
main()
Remarque : 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,sample_converted.html), 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.
Automatisation de la conversion DOCX en HTML avec cURL et l’API REST
Vous pouvez effectuer la même conversion sans écrire de code Python en utilisant des commandes cURL contre le point de terminaison REST.
1. Obtenir un jeton d’accès
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"}'
La réponse contient access_token que vous utiliserez dans les appels suivants.
2. Téléverser le fichier DOCX
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@sample.docx"
3. Demander la conversion DOCX en HTML réactif
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "input/sample.docx" },
"format": "html",
"options": { "responsive": true, "embedFonts": true }
}'
La réponse renvoie un objet JSON contenant le path du fichier HTML généré.
4. Télécharger le résultat HTML
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output/sample.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample_converted.html
Pour une liste complète des paramètres, consultez la référence API.
Ajustement fin des paramètres de conversion DOCX vers HTML réactif
Le SDK propose plusieurs options qui vous permettent de contrôler la qualité et la taille du HTML généré.
- Indicateur responsive -
html_options.responsive = Trueajoute un wrapper CSS adapté au viewport. - Incorporer les polices -
html_options.embed_fonts = Truegarantit que les polices personnalisées sont incluses sous forme de données base64. - Conserver les images -
html_options.extract_images = Falseconserve les images en ligne au lieu de créer des fichiers séparés. - CSS personnalisé - vous pouvez fournir une chaîne CSS via
html_options.csspour appliquer un style à l’ensemble du site.
Exemple de définition d’une chaîne CSS personnalisée :
custom_css = "body {font-family: Arial, sans-serif; line-height: 1.6;}"
html_options.css = custom_css
Ajustez ces paramètres en fonction des besoins de votre interface web.
Conclusion
GroupDocs.Conversion Cloud SDK for Python facilite la conversion de DOCX en HTML avec Python, de manière simple, fiable et évolutive. En suivant les étapes ci‑dessus, vous pouvez intégrer la conversion automatisée dans n’importe quel service backend, générer un balisage réactif et garder le contrôle total sur le style et les ressources. N’oubliez pas d’acquérir une licence appropriée pour une utilisation en production ; les détails de tarification sont disponibles sur la page du produit et vous pouvez obtenir une page de licence temporaire pour l’évaluation. Avec le SDK en place, fournir des aperçus HTML riches à partir de sources DOCX devient une partie routinière du flux de travail de votre application.
FAQs
Comment puis‑je effectuer une conversion DOCX en HTML en Python avec GroupDocs ?
Utilisez l’API Convert du SDK GroupDocs.Conversion Cloud pour Python, configurezHtmlOptionspour une sortie réactive, et appelezconvert_document. Le SDK renvoie une URL vers le fichier HTML généré.Est-il possible de rendre la sortie HTML adaptée aux mobiles ?
Oui, définissezhtml_options.responsive = True. Le SDK injecte du CSS qui adapte automatiquement la mise en page à différentes largeurs d’écran.Quel mécanisme d’authentification le SDK nécessite-t-il ?
Le SDK utilise le flux OAuth client‑credentials. Fournissez votreclient_idetclient_secretdans l’objetConfigurationavant de créer les instances d’API.Existe-t-il des limites de taille pour les fichiers DOCX ?
Le service cloud accepte les fichiers jusqu’à 100 Mo pour la conversion. Les documents plus volumineux doivent être divisés ou traités par morceaux avant le téléchargement.
