@AlexMine
Студент

Как достать кириллицу из RTF файла через python или linux?

Добрый вечер, пытаюсь вытащить русский текст из rtf файла, пытаюсь выполнить из консоли утилиту unrtf
def rtf_file_to_text(path: str) -> str:
    """
        Возвращает текст из rtf документа
    """

    cmd = ['unrtf', path]
    p = Popen(cmd, stdout=PIPE)
    stdout, stderr = p.communicate()
    text = stdout.decode('utf-8')
    return text

Получаю текст
<b><font face="Times New Roman"><font size="4">&#1054;&#1073;&#1086;&#1089;&#1085;&#1086;&#1074;&#1072;&#1085;&#1080;&#1077; &#1085;&#1072;&#1095;&#1072;&#1083;&#1100;&#1085;&#1086;&#1081; (&#1084;&#1072;&#1082;&#1089;&#1080;&#1084;&#1072;&#1083;&#1100;&#1085;&#1086;&#1081;) &#1094;&#1077;&#1085;&#1099; </font></font></b>&#1082;&#1086;&#1085;&#1090;&#1088;&#1072;&#1082;&#1090;&#1072;


Все символы такие. Как вытащить символы в нужной для меня кодировке? Пытался использовать различные библиотеки на python, но они дают такой же результат. Может быть есть какая-то другая утилита для linux, с помощью которой можно вытащить текст?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@AlexMine Автор вопроса
Студент
Нашел решение на этот вопрос, думаю это одно из нормальных решений в моем случае. Установил libreoffice на сервер, с помощью
import os

os.system('lowriter --headless --convert-to txt file.rtf")

Сконвертировал в txt файл, и уже из этого файла взял текст полностью.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Мне кажется должно быть наверное как-то возможно так:
try:
     # Python 2.6-2.7 
     from HTMLParser import HTMLParser
except ImportError:
     # Python 3+
     from html.parser import HTMLParser
h = HTMLParser()
return h.unescape(text)


P.S. Просто я в Python-е ни-в-зуб-ногой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Абсолют Банк Москва
от 150 000 до 170 000 ₽
Smartex Москва
от 150 000 до 250 000 ₽
от 150 000 до 200 000 ₽
01 апр. 2020, в 10:05
5000 руб./за проект
01 апр. 2020, в 09:55
1000 руб./за проект
01 апр. 2020, в 09:53
1000 руб./за проект