Python : convertir du HTML en Word

2023-12-18 02:53:14

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()

Python: Convert HTML to Word

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()

Python: Convert HTML to Word

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.

Voir également