Как вы конвертируете Word Document в очень простой html в Python?

Время от времени я получаю документ Word, который должен отображаться как веб-страница. В настоящее время я использую flatpages Django для достижения этого, захватывая содержимое html, созданное MS Word. Сгенерированный html довольно грязный. Есть ли лучший способ, который может генерировать очень простой html для решения этой проблемы с помощью Python?

Хорошее решение включает загрузку в Документы Google и экспорт из него html-версии. (Для этого должен быть api?)

Он делает так много «чисток»; Красивый суп по дороге можно использовать для внесения любых дальнейших изменений, если это необходимо. Это самая мощная и элегантная библиотека синтаксического анализа html на планете.

Это известный стандарт для журналистов.

Я нашел эту веб-страницу: http://www.textfixer.com/html/convert-word-to-html.php

Он преобразует форматированный текст в простую разметку HTML, сохраняя полужирный, курсив, ссылки и абзацы, но не добавляя tags для размеров шрифтов и лиц. Именно то, что мне нужно, чтобы сэкономить некоторое время.

Мое супер-простое приложение WordOff имеет API для очистки трещины от Word-экспортированного HTML. Вы можете переопределить метод сохранения вашей модели flatpages, чтобы перенести свой HTML через API в первый раз, когда он будет сохранен. Что-то вроде этого:

import urllib import urllib2 def decruft(html): data = urllib.urlencode({'html' : html}) req = urllib2.Request('http://wordoff.org/api/clean', data) response = urllib2.urlopen(req) return response.read() def save(self, **kwargs): if not self.pk: # only de-cruft when content is first added self.content = decruft(self.content) super(FlatPage, self).save(**kwargs) 

Это зависит от того, сколько форматирования и изображений вы имеете дело. Я делаю одно из двух вещей:

  • Документы Google . Вероятно, ближе всего вы найдете исходное форматирование и полезный HTML.
  • Markdown : отмена форматирования. Вставьте его в текстовый редактор, запустите его через Markdown и закрепите остальные вручную.

Вы также можете использовать Abiword / wvWare для преобразования документа Word в XHTML, а затем проанализировать его с помощью BeautifulSoup / ElementTree / etc. для предварительной обработки, если вам нужно. По моему опыту, Abiword делает довольно хорошую работу по преобразованию файлов Word и созданию относительно чистых файлов XHTML.

Я должен упомянуть, что Abiword можно запускать в командной строке, поэтому его легко интегрировать в автоматизированный процесс.

Word 2010 имеет возможность «сохранять как отфильтрованную веб-страницу». Это исключит подавляющее большинство HTML, которые Word вставляет.