Python: convertir HTML a Word

2023-12-18 02:56:57

Instalar con Pip

pip install Spire.Doc

enlaces relacionados

Si bien HTML está diseñado para visualización en línea, los documentos de Word se usan comúnmente para impresión y documentación física. La conversión de HTML a Word garantiza que el contenido esté optimizado para la impresión, lo que permite saltos de página, encabezados, pies de página y otros elementos necesarios para fines de documentación profesional. En este artículo, explicaremos cómo convertir HTML a Word en Python usando Spire.Doc for Python.

Instalar Spire.Doc for Python

Este escenario requiere Spire.Doc for Python y plum-dispatch v1.7.4. Se pueden instalar fácilmente en su código VS mediante los siguientes comandos pip.

pip install Spire.Doc

Si no está seguro de cómo instalarlo, consulte este tutorial: Cómo instalar Spire.Doc for Python en VS Code

Convertir un archivo HTML a Word con Python

Puede convertir fácilmente un archivo HTML al formato Word utilizando el método Document.SaveToFile() proporcionado por Spire.Doc for Python. Los pasos detallados son los siguientes.

  • Crea un objeto de la clase Documento.
  • Cargue un archivo HTML usando el método Document.LoadFromFile().
  • Guarde el archivo HTML en formato Word utilizando el método 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 una cadena HTML a Word con Python

Para convertir una cadena HTML a Word, puede utilizar el método Paragraph.AppendHTML(). Los pasos detallados son los siguientes.

  • Crea un objeto de la clase Documento.
  • Agregue una sección al documento usando el método Document.AddSection().
  • Agregue un párrafo a la sección usando el método Sección.AddParagraph().
  • Agregue una cadena HTML al párrafo usando el método Paragraph.AppendHTML().
  • Guarde el documento resultante utilizando el método 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

Solicitar una licencia temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también