Категория

Python: конвертировать HTML в Word

2023-12-18 02:59:10 zaki zou

Хотя HTML предназначен для просмотра в Интернете, документы Word обычно используются для печати и физической документации. Преобразование HTML в Word гарантирует оптимизацию содержимого для печати, обеспечивая точные разрывы страниц, верхние и нижние колонтитулы и другие необходимые элементы для целей профессиональной документации. В этой статье мы объясним, как конвертируйте HTML в Word на Python с помощью Spire.Doc for Python.

Установите Spire.Doc for Python

Для этого сценария требуется Spire.Doc for Python и Plum-Dispatch v1.7.4. Их можно легко установить в ваш VS Code с помощью следующих команд pip.

pip install Spire.Doc

Если вы не знаете, как установить, обратитесь к этому руководству: Как установить Spire.Doc for Python в VS Code.

Преобразование HTML-файла в Word с помощью Python

Вы можете легко преобразовать HTML-файл в формат Word, используя метод Document.SaveToFile(), предоставляемый Spire.Doc for Python. Подробные шаги заключаются в следующем.

  • Создайте объект класса Document.
  • Загрузите HTML-файл с помощью метода Document.LoadFromFile().
  • Сохраните HTML-файл в формате Word, используя метод 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

Преобразование строки HTML в Word с помощью Python

Чтобы преобразовать строку HTML в Word, вы можете использовать метод Paragraph.AppendHTML(). Подробные шаги заключаются в следующем.

  • Создайте объект класса Document.
  • Добавьте раздел в документ с помощью метода Document.AddSection().
  • Добавьте абзац в раздел, используя метод Раздел.ДобавитьПараграф().
  • Добавьте строку HTML в абзац, используя метод Paragraph.AppendHTML().
  • Сохраните полученный документ с помощью метода 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

Подать заявку на временную лицензию

Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.

Смотрите также