Конвертер html в .doc в Python?

Я использую pisa, библиотеку преобразования HTML в PDF для Python.

Существует ли то же самое для документа Word: библиотека преобразования HTML в .doc для Python?


person Eric    schedule 19.11.2010    source источник
comment
Зачем тебе это? MS Word может читать HTML.   -  person MSalters    schedule 19.11.2010
comment
У меня та же проблема: у меня есть html, который использует pisa для преобразования в pdf, и я хочу сделать то же самое со словом. это большой документ, ~ 20 страниц, с использованием того же фрагмента кода для генерации html, а затем экспорта через pisa или что-то еще, было бы здорово.   -  person Rafael Barros    schedule 12.06.2012
comment
@Eric: Недавно у меня была такая же проблема. Просто интересно, вы нашли решение для преобразования HTML в Word .docx? Спасибо.   -  person TTT    schedule 09.04.2013
comment
@tao.hong: Вам удалось решить проблему? Я тоже ищу подходящее решение с открытым исходным кодом. Спасибо   -  person sudshekhar    schedule 04.09.2015


Ответы (4)


Вы можете использовать win32com из расширения Python pywin32 для Windows, чтобы MS Word мог преобразовать его для вас. Простой пример:

import win32com.client

word = win32com.client.Dispatch('Word.Application')

doc = word.Documents.Add('example.html')
doc.SaveAs('example.doc', FileFormat=0)
doc.Close()

word.Quit()
person Steven    schedule 19.11.2010

Хотя я не знаю прямого модуля, который может позволить вам преобразовать это, однако:

  1. Вы можете сначала преобразовать HTML в обычный текст, используя Модуль html2text.
  2. После этого вы можете использовать этот модуль python-docx для преобразования текста в doc или файл docx.
person user225312    schedule 19.11.2010

В случае, если кто-то еще приземлится здесь, пытаясь преобразовать наоборот, приведенный выше код работает, но вам нужно изменить значение FileFormat.

http://msdn.microsoft.com/en-us/library/ff839952.aspx

Пример: отфильтрованный html равен 10 вместо 0.

person Cooldox    schedule 25.05.2012

Обновите с помощью исправления python3.x:

from htmldocx import HtmlToDocx

new_parser = HtmlToDocx()
new_parser.parse_html_file("html_filename", "docx_filename")
#Files extensions not needed, but tolerated
person Synthase    schedule 11.01.2021