Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

Мое супер-простое приложение WordOff имеет API для очистки крутизны от HTML-кода, экспортированного в Word. Вы можете переопределить метод сохранения вашей модели 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)

Ответ 4

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

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

Ответ 5

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

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

Ответ 6

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