Comment convertir du HTML en Word avec Python

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.

Sujets connexes

原文链接:Comment convertir du HTML en Word avec Python

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
Do not give in to fear
别在恐惧面前低下你的头
评论 抢沙发

请登录后发表评论

    暂无评论内容