Table des matières
Installer avec Pip
pip install Spire.Doc
Liens connexes
Alors que le HTML est conçu pour être visualisé en ligne, les documents Word sont couramment utilisés pour l'impression et la documentation physique. La conversion HTML en Word garantit que le contenu est optimisé pour l'impression, permettant des sauts de page, des en-têtes, des pieds de page et d'autres éléments nécessaires à des fins de documentation professionnelle. Dans cet article, nous expliquerons comment convertissez du HTML en Word en Python à l'aide de Spire.Doc for Python.
Installer Spire.Doc for Python
Ce scénario nécessite Spire.Doc for Python et plum-dispatch v1.7.4. Ils peuvent être facilement installés dans votre VS Code via les commandes pip suivantes.
pip install Spire.Doc
Si vous ne savez pas comment procéder à l'installation, veuillez vous référer à ce didacticiel : Comment installer Spire.Doc for Python dans VS Code
Convertir un fichier HTML en Word avec Python
Vous pouvez facilement convertir un fichier HTML au format Word en utilisant la méthode Document.SaveToFile() fournie par Spire.Doc for Python. Les étapes détaillées sont les suivantes.
- Créez un objet de la classe Document.
- Chargez un fichier HTML à l'aide de la méthode Document.LoadFromFile().
- Enregistrez le fichier HTML au format Word à l'aide de la méthode Document.SaveToFile().
- Python
from spire.doc import * from spire.doc.common import * # Specify the input and output file paths inputFile = "Input.html" outputFile = "HtmlToWord.docx" # Create an object of the Document class document = Document() # Load an HTML file document.LoadFromFile(inputFile, FileFormat.Html, XHTMLValidationType.none) # Save the HTML file to a .docx file document.SaveToFile(outputFile, FileFormat.Docx2016) document.Close()
Convertir une chaîne HTML en Word avec Python
Pour convertir une chaîne HTML en Word, vous pouvez utiliser la méthode Paragraph.AppendHTML(). Les étapes détaillées sont les suivantes.
- Créez un objet de la classe Document.
- Ajoutez une section au document à l'aide de la méthode Document.AddSection().
- Ajoutez un paragraphe à la section à l’aide de la méthode Section.AddParagraph().
- Ajoutez une chaîne HTML au paragraphe à l’aide de la méthode Paragraph.AppendHTML().
- Enregistrez le document résultat à l'aide de la méthode Document.SaveToFile().
- Python
from spire.doc import * from spire.doc.common import * # Specify the output file path outputFile = "HtmlStringToWord.docx" # Create an object of the Document class document = Document() # Add a section to the document sec = document.AddSection() # Add a paragraph to the section paragraph = sec.AddParagraph() # Specify the HTML string htmlString = """ <html> <head> <title>HTML to Word Example</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>This is a Heading</h1> <p>This is a paragraph demonstrating the conversion of HTML to Word document.</p> <p>Here's an example of an unordered list:</p> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul> <p>And here's a table:</p> <table> <tr> <th>Product</th> <th>Quantity</th> <th>Price</th> </tr> <tr> <td>Jacket</td> <td>30</td> <td>$150</td> </tr> <tr> <td>Sweater</td> <td>25</td> <td>$99</td> </tr> </table> </body> </html> """ # Append the HTML string to the paragraph paragraph.AppendHTML(htmlString) # Save the result document document.SaveToFile(outputFile, FileFormat.Docx2016) document.Close()
Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.