Microsoft Word est une application de traitement de texte largement utilisée qui offre des fonctionnalités d’édition et de collaboration avancées. La conversion du HTML en Word permet à plusieurs utilisateurs de collaborer sur le contenu, d’apporter des modifications, de suivre les changements et d’ajouter des commentaires, ce qui peut être particulièrement utile pour les projets d’équipe ou les révisions de documents. Dans cet article, nous explorerons comment convertir du HTML en Word en utilisant Python.
Installer la bibliothèque requise
Pour convertir du HTML en Word avec Python, nous pouvons utiliser la bibliothèque Spire.Doc for Python, qui nous permet de créer, lire, convertir et manipuler des documents Word dans des applications Python.
Avant de commencer, nous devons installer cette bibliothèque. Ouvrez simplement le terminal de votre projet et exécutez la commande pip suivante :
<span>pip</span> <span>install</span> <span>Spire</span><span>.</span><span>Doc</span><span>pip</span> <span>install</span> <span>Spire</span><span>.</span><span>Doc</span>pip install Spire.Doc
Enter fullscreen mode Exit fullscreen mode
Convertir du HTML en Word avec Python
Spire.Doc for Python vous permet de convertir soit un fichier HTML, soit une chaîne HTML en format Word.
Exemple 1. Convertir un fichier HTML en Word avec Python
L’exemple de code suivant montre comment convertir un fichier HTML en format Word en utilisant Python et Spire.Doc for Python :
<span>from</span> <span>spire.doc</span> <span>import</span> <span>*</span><span>from</span> <span>spire.doc.common</span> <span>import</span> <span>*</span><span># Spécifiez les chemins d'accès du fichier d'entrée et de sortie </span><span>inputFile</span> <span>=</span> <span>"Input.html"</span><span>outputFile</span> <span>=</span> <span>"HtmlToWord.docx"</span><span># Créez un objet de la classe Document </span><span>document</span> <span>=</span> <span>Document</span><span>()</span><span># Chargez un fichier HTML </span><span>document</span><span>.</span><span>LoadFromFile</span><span>(</span><span>inputFile</span><span>,</span> <span>FileFormat</span><span>.</span><span>Html</span><span>,</span> <span>XHTMLValidationType</span><span>.</span><span>none</span><span>)</span><span># Enregistrez le fichier HTML sous un fichier .docx </span><span>document</span><span>.</span><span>SaveToFile</span><span>(</span><span>outputFile</span><span>,</span> <span>FileFormat</span><span>.</span><span>Docx2016</span><span>)</span><span>document</span><span>.</span><span>Close</span><span>()</span><span>from</span> <span>spire.doc</span> <span>import</span> <span>*</span> <span>from</span> <span>spire.doc.common</span> <span>import</span> <span>*</span> <span># Spécifiez les chemins d'accès du fichier d'entrée et de sortie </span><span>inputFile</span> <span>=</span> <span>"Input.html"</span> <span>outputFile</span> <span>=</span> <span>"HtmlToWord.docx"</span> <span># Créez un objet de la classe Document </span><span>document</span> <span>=</span> <span>Document</span><span>()</span> <span># Chargez un fichier HTML </span><span>document</span><span>.</span><span>LoadFromFile</span><span>(</span><span>inputFile</span><span>,</span> <span>FileFormat</span><span>.</span><span>Html</span><span>,</span> <span>XHTMLValidationType</span><span>.</span><span>none</span><span>)</span> <span># Enregistrez le fichier HTML sous un fichier .docx </span><span>document</span><span>.</span><span>SaveToFile</span><span>(</span><span>outputFile</span><span>,</span> <span>FileFormat</span><span>.</span><span>Docx2016</span><span>)</span> <span>document</span><span>.</span><span>Close</span><span>()</span>from spire.doc import * from spire.doc.common import * # Spécifiez les chemins d'accès du fichier d'entrée et de sortie inputFile = "Input.html" outputFile = "HtmlToWord.docx" # Créez un objet de la classe Document document = Document() # Chargez un fichier HTML document.LoadFromFile(inputFile, FileFormat.Html, XHTMLValidationType.none) # Enregistrez le fichier HTML sous un fichier .docx document.SaveToFile(outputFile, FileFormat.Docx2016) document.Close()
Enter fullscreen mode Exit fullscreen mode
Exemple 2. Convertir une chaîne HTML en Word avec Python
L’exemple de code suivant montre comment convertir une chaîne HTML en format Word en utilisant Python et Spire.Doc for Python :
<span>from</span> <span>spire.doc</span> <span>import</span> <span>*</span><span>from</span> <span>spire.doc.common</span> <span>import</span> <span>*</span><span># Spécifiez le chemin de sortie du fichier </span><span>outputFile</span> <span>=</span> <span>"HtmlStringToWord.docx"</span><span># Créez un objet de la classe Document </span><span>document</span> <span>=</span> <span>Document</span><span>()</span><span># Ajoutez une section au document </span><span>sec</span> <span>=</span> <span>document</span><span>.</span><span>AddSection</span><span>()</span><span># Ajoutez un paragraphe à la section </span><span>paragraph</span> <span>=</span> <span>sec</span><span>.</span><span>AddParagraph</span><span>()</span><span># Spécifiez la chaîne HTML </span><span>htmlString</span> <span>=</span> <span>""" <html> <head> <title>Exemple HTML vers Word</title> <style> body { font-family: Arial, sans-serif; } h1 { color: #FF5733; font-size: 24px; margin-bottom: 20px; } p { color: #333333; font-size: 16px; margin-bottom: 10px; } ul { list-style-type: disc; margin-left: 20px; margin-bottom: 15px; } li { font-size: 14px; margin-bottom: 5px; } table { border-collapse: collapse; width: 100%; margin-bottom: 20px; } th, td { border: 1px solid #CCCCCC; padding: 8px; text-align: left; } th { background-color: #F2F2F2; font-weight: bold; } td { color: #0000FF; } </style> </head> <body> <h1>Ceci est un titre</h1> <p>Ceci est un paragraphe illustrant la conversion de HTML en document Word.</p> <p>Voici un exemple de liste non ordonnée :</p> <ul> <li>Élément 1</li> <li>Élément 2</li> <li>Élément 3</li> </ul> <p>Et voici un tableau :</p> <table> <tr> <th>Produit</th> <th>Quantité</th> <th>Prix</th> </tr> <tr> <td>Veste</td> <td>30</td> <td>150 $</td> </tr> <tr> <td>Pull</td> <td>25</td> <td>99 $</td> </tr> </table> </body> </html> """</span><span># Ajoutez la chaîne HTML au paragraphe </span><span>paragraph</span><span>.</span><span>AppendHTML</span><span>(</span><span>htmlString</span><span>)</span><span># Enregistrez le document résultant </span><span>document</span><span>.</span><span>SaveToFile</span><span>(</span><span>outputFile</span><span>,</span> <span>FileFormat</span><span>.</span><span>Docx2016</span><span>)</span><span>document</span><span>.</span><span>Close</span><span>()</span><span>from</span> <span>spire.doc</span> <span>import</span> <span>*</span> <span>from</span> <span>spire.doc.common</span> <span>import</span> <span>*</span> <span># Spécifiez le chemin de sortie du fichier </span><span>outputFile</span> <span>=</span> <span>"HtmlStringToWord.docx"</span> <span># Créez un objet de la classe Document </span><span>document</span> <span>=</span> <span>Document</span><span>()</span> <span># Ajoutez une section au document </span><span>sec</span> <span>=</span> <span>document</span><span>.</span><span>AddSection</span><span>()</span> <span># Ajoutez un paragraphe à la section </span><span>paragraph</span> <span>=</span> <span>sec</span><span>.</span><span>AddParagraph</span><span>()</span> <span># Spécifiez la chaîne HTML </span><span>htmlString</span> <span>=</span> <span>""" <html> <head> <title>Exemple HTML vers Word</title> <style> body { font-family: Arial, sans-serif; } h1 { color: #FF5733; font-size: 24px; margin-bottom: 20px; } p { color: #333333; font-size: 16px; margin-bottom: 10px; } ul { list-style-type: disc; margin-left: 20px; margin-bottom: 15px; } li { font-size: 14px; margin-bottom: 5px; } table { border-collapse: collapse; width: 100%; margin-bottom: 20px; } th, td { border: 1px solid #CCCCCC; padding: 8px; text-align: left; } th { background-color: #F2F2F2; font-weight: bold; } td { color: #0000FF; } </style> </head> <body> <h1>Ceci est un titre</h1> <p>Ceci est un paragraphe illustrant la conversion de HTML en document Word.</p> <p>Voici un exemple de liste non ordonnée :</p> <ul> <li>Élément 1</li> <li>Élément 2</li> <li>Élément 3</li> </ul> <p>Et voici un tableau :</p> <table> <tr> <th>Produit</th> <th>Quantité</th> <th>Prix</th> </tr> <tr> <td>Veste</td> <td>30</td> <td>150 $</td> </tr> <tr> <td>Pull</td> <td>25</td> <td>99 $</td> </tr> </table> </body> </html> """</span> <span># Ajoutez la chaîne HTML au paragraphe </span><span>paragraph</span><span>.</span><span>AppendHTML</span><span>(</span><span>htmlString</span><span>)</span> <span># Enregistrez le document résultant </span><span>document</span><span>.</span><span>SaveToFile</span><span>(</span><span>outputFile</span><span>,</span> <span>FileFormat</span><span>.</span><span>Docx2016</span><span>)</span> <span>document</span><span>.</span><span>Close</span><span>()</span>from spire.doc import * from spire.doc.common import * # Spécifiez le chemin de sortie du fichier outputFile = "HtmlStringToWord.docx" # Créez un objet de la classe Document document = Document() # Ajoutez une section au document sec = document.AddSection() # Ajoutez un paragraphe à la section paragraph = sec.AddParagraph() # Spécifiez la chaîne HTML htmlString = """ <html> <head> <title>Exemple HTML vers Word</title> <style> body { font-family: Arial, sans-serif; } h1 { color: #FF5733; font-size: 24px; margin-bottom: 20px; } p { color: #333333; font-size: 16px; margin-bottom: 10px; } ul { list-style-type: disc; margin-left: 20px; margin-bottom: 15px; } li { font-size: 14px; margin-bottom: 5px; } table { border-collapse: collapse; width: 100%; margin-bottom: 20px; } th, td { border: 1px solid #CCCCCC; padding: 8px; text-align: left; } th { background-color: #F2F2F2; font-weight: bold; } td { color: #0000FF; } </style> </head> <body> <h1>Ceci est un titre</h1> <p>Ceci est un paragraphe illustrant la conversion de HTML en document Word.</p> <p>Voici un exemple de liste non ordonnée :</p> <ul> <li>Élément 1</li> <li>Élément 2</li> <li>Élément 3</li> </ul> <p>Et voici un tableau :</p> <table> <tr> <th>Produit</th> <th>Quantité</th> <th>Prix</th> </tr> <tr> <td>Veste</td> <td>30</td> <td>150 $</td> </tr> <tr> <td>Pull</td> <td>25</td> <td>99 $</td> </tr> </table> </body> </html> """ # Ajoutez la chaîne HTML au paragraphe paragraph.AppendHTML(htmlString) # Enregistrez le document résultant document.SaveToFile(outputFile, FileFormat.Docx2016) document.Close()
Enter fullscreen mode Exit fullscreen mode
Conclusion
La conversion du HTML en Word peut faciliter la collaboration sur votre document. En utilisant les exemples de code décrits dans cet article, vous pouvez automatiser facilement le processus de conversion du HTML en Word en utilisant Python.
暂无评论内容