Python: converti HTML in Word

2023-12-18 02:54:48

Mentre l'HTML è progettato per la visualizzazione online, i documenti Word vengono comunemente utilizzati per la stampa e la documentazione fisica. La conversione di HTML in Word garantisce che il contenuto sia ottimizzato per la stampa, consentendo interruzioni di pagina, intestazioni, piè di pagina e altri elementi necessari accurati per scopi di documentazione professionale. In questo articolo spiegheremo come convertire HTML in Word in Python utilizzando Spire.Doc for Python.

Installa Spire.Doc for Python

Questo scenario richiede Spire.Doc for Python e plum-dispatch v1.7.4. Possono essere facilmente installati nel tuo VS Code tramite i seguenti comandi pip.

pip install Spire.Doc

Se non sei sicuro su come installare, fai riferimento a questo tutorial: Come installare Spire.Doc for Python in VS Code

Converti un file HTML in Word con Python

Puoi convertire facilmente un file HTML in formato Word utilizzando il metodo Document.SaveToFile() fornito da Spire.Doc for Python. I passaggi dettagliati sono i seguenti.

  • Crea un oggetto della classe Document.
  • Carica un file HTML utilizzando il metodo Document.LoadFromFile().
  • Salva il file HTML in formato Word utilizzando il metodo 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

Converti una stringa HTML in Word con Python

Per convertire una stringa HTML in Word, è possibile utilizzare il metodo Paragraph.AppendHTML(). I passaggi dettagliati sono i seguenti.

  • Crea un oggetto della classe Document.
  • Aggiungi una sezione al documento utilizzando il metodo Document.AddSection().
  • Aggiungi un paragrafo alla sezione utilizzando il metodo Sezione.AddParagraph().
  • Aggiungi una stringa HTML al paragrafo utilizzando il metodo Paragraph.AppendHTML().
  • Salvare il documento risultante utilizzando il metodo 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

Richiedi una licenza temporanea

Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni della funzione, per favore richiedere una licenza di prova di 30 giorni per te.

Guarda anche