Python: HTML in Word konvertieren

2023-12-18 02:58:17

Während HTML für die Online-Anzeige konzipiert ist, werden Word-Dokumente häufig zum Drucken und zur physischen Dokumentation verwendet. Durch die Konvertierung von HTML in Word wird sichergestellt, dass der Inhalt für den Druck optimiert ist und präzise Seitenumbrüche, Kopf- und Fußzeilen sowie andere notwendige Elemente für professionelle Dokumentationszwecke ermöglicht werden. In diesem Artikel erklären wir, wie das geht Konvertieren Sie HTML in Word in Python mit Spire.Doc for Python.

Installieren Sie Spire.Doc for Python

Dieses Szenario erfordert Spire.Doc for Python und plum-dispatch v1.7.4. Sie können mit den folgenden Pip-Befehlen einfach in Ihrem VS-Code installiert werden.

pip install Spire.Doc

Wenn Sie sich bei der Installation nicht sicher sind, lesen Sie bitte dieses Tutorial: So installieren Sie Spire.Doc for Python in VS Code

Konvertieren Sie eine HTML-Datei mit Python in Word

Sie können eine HTML-Datei ganz einfach in das Word-Format konvertieren, indem Sie die von Spire.Doc for Python bereitgestellte Methode Document.SaveToFile() verwenden. Die detaillierten Schritte sind wie folgt.

  • Erstellen Sie ein Objekt der Document-Klasse.
  • Laden Sie eine HTML-Datei mit der Methode Document.LoadFromFile().
  • Speichern Sie die HTML-Datei mit der Methode Document.SaveToFile() im Word-Format.
  • 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

Konvertieren Sie einen HTML-String mit Python in Word

Um eine HTML-Zeichenfolge in Word zu konvertieren, können Sie die Methode Paragraph.AppendHTML() verwenden. Die detaillierten Schritte sind wie folgt.

  • Erstellen Sie ein Objekt der Document-Klasse.
  • Fügen Sie dem Dokument mit der Methode Document.AddSection() einen Abschnitt hinzu.
  • Fügen Sie dem Abschnitt mit der Methode Section.AddParagraph() einen Absatz hinzu.
  • Hängen Sie mit der Methode Paragraph.AppendHTML() eine HTML-Zeichenfolge an den Absatz an.
  • Speichern Sie das Ergebnisdokument mit der Methode 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

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch