
МихаилллJan. 19, 2019, 4:08 p.m.
Как документ RTF конвертировать в HTML
Добрый день.
Как документ RTF конвертировать в HTML?
Могу его открыть и прочитать так:
QString file = QFileDialog::getOpenFileName(0, "Выберете резюме hh.ru", "", "*.rtf"); if(!file.isEmpty()) { QFile sFile(file); if(sFile.open(QFile::ReadOnly | QFile::Text)){ QTextStream in(&sFile); //QTextDocument textDocument; //textDocument = in.readAll().toHtmlEscaped(); QString text = in.readAll(); sFile.close(); ui->ResumeHHTextEdit->setHtml(text); qDebug()<<text; } }
Тут
Есть подходящая библиотека. Вот , наверно, нужный dll.
Itenso.Rtf.Converter.Html.dll
Но не могу его дабавить его к проекту как библиотеку, проект требует только формат .lib
Еще
тут
есть проект. Но не пойму, как еого использовать.
Помогите пожалуйста.

We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
Ua
- Unknown akadamn
- Jan. 24, 2025, 5:14 p.m.
Qt - Test 001. Signals and slots
- Result:84points,
- Rating points4
Ua
- Unknown akadamn
- Jan. 24, 2025, 4:22 p.m.
Qt - Test 001. Signals and slots
- Result:42points,
- Rating points-8
Last comments
ИМ
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Игорь МаксимовNov. 22, 2024, 9:51 p.m.

Evgenii LegotckoiOct. 31, 2024, 11:37 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
Игорь МаксимовOct. 5, 2024, 4:51 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
f
Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
firstlunoxodFeb. 15, 2025, 1:46 p.m.

ДмитрийFeb. 3, 2025, 4:24 p.m.
не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
хотя как динамическая Itenso.Rtf.Converter.Html.dll подключается
Нашел тут код конвертации:
но это видимо синтаксис VS.
Помогите пожалуйста переписать под QT.
Наверно это будет примерно так:
извиняюсь, код на делфи, но подход наверно правильный.
Добрый день.
Я с ActiveX на Вы полностью до незнакомства. Но если поясните кое-какие моменты, то возможно у меня будет идея, которая вас натолкнёт на нужное русло. Поэтому вопрос такой.
А Вы нашли вообще способ сохранять файлы через QAxObject? Дело в том, что тот код на Дельфи-то конечно отражает алгоритм, но библиотеки-то разные?
Впрочем, если смотреть на то, что вы имеете, то возможно, для запроса конвертации нужно записать что-то подобное.
Но не знаю, у вас уже есть какие-нибудь примеры сохранение через QAxObject?
Так тоже не работает, но наверно что то похожее должно заработать.
Что то похожее я видел тут и тут .
Как я понял этот вариант должен работать через библиотеки Word. Запрос querySubObject должен вызвать нужную функцию.
Еще я видиле библиотеки на java и C#, которые могут также конывертировать. Не знаете ли вы, можно ли их использовать?
Бибилотеки Java и С# можно использовать, если они будут добавлены в самостоятельную программу, которая будет работать в консольном режиме. Тогда через QProcess можно будет вызывать данную программу и выполнять конвертирование.
Я бы попытался по возможности распарсить получаемый текст, если там удаётся извлечь хоть что-то, что походит на сколько-нибудь структурированные данные. Конечно, придётся с регулярками повозиться.
Похоже я нашел решение на с++
7925-Rtf2HtmlProj.zip
Тут автор описывает про магическое превращение через буфер обмена средствами Word.
Вот
Вот код автора:
Не могли бы вы мне помочь адаптировать это под QT
Call back функцию (MyStreamInCallback) можно так и копировать в проект на Qt, также функцию LoadRtfFile можно так и копировать.
Думаю, что здесь особо адаптировать-то нечего, просто добавить в проект на Qt все те функции, а код в _tmain вынести в какой-нибудь слот.
Попробовал, но QT выдает много ошибок, говорит что не знает : LPCTSTR, CFileDialog, CFile, EDITSTREAM и т.д.
Для того, чтобы это испраить, видимо нужны какие то файлы из MSVC.
Так же нашел библиотеку, скомпилированную на C# .
Там же и примеры на C#.
Вот документация по этой библиотеке.
Подключил эту библиотеку.
Пробую воспользоваться этой библиотекой, пока выходит так:
Помогите пожалуйста разобраться с этим
Для решения этой задачи нужно как-то использовать функцию
вот только она не статичная и не понятно как создать объект нужного класса
Ну не цепляются C# библиотеки в C++ коде, обратное возможно.
Скажите пожалуйста, что же делать с ошибками незнания: LPCTSTR, CFileDialog, CFile, EDITSTREAM и прочего
Это всё из MFC, нужно заменять на QFileDialog, QFile и т.д. Или подключать соответствующие библиотеки из WinAPI, что априори плохая мысль, если используется Qt. . Не работал с теми библиотеками, только с Qt.
Делать это строчка, за строчкой. А не сразу наскоком.
Нашел ссылку на древние типы данных , а тут нынешние их аналоги.
Но все равно каое что непоня:
что такое : LPCTSTR, CALLBACK (наверно QDialig),IDOK, EDITSTREAM, TCHAR
Код у меня получился (не доработанный) такой:
помогите пожалуйста до конца разобраться с ним.
И скажите пожалуйста , почему не стоит использовать WinAPI, при работе с QT?
Тут нашел
rtftohtml_win32.zip
. Похоже она скомпилированна на С++.
Подключил библиотеку как динамическую.
Теперь пытаюсь воспользоваться методом
Пока заготовка такая
Но выдает ошибку: no viable overloaded '='
Помогите пожалуйста воспользоваться этим методом.
Там в примерах в архиве есть пример определения сигнатуры функции.
То есть сигнатура только так может объявляться. Вам нужно передать имя файла, каталог, где он находится и структуру настроек. Иначе никак. Передача QString туда никак не подойдёт.
Думаю, что в документации там есть информация о параметрах в той структуре настроек.
В документации она не описанна, только в примере:
На этой строчке
Выдает ошибку : no matching function for call to 'GetProcAddress'
попробовал сделать так и программа зависла
Помогите пожалуйста разобраться с этой библиотекой
Только если на выходных гляну, у самого своих проектов до кучи, чтобы разбираться в рабочие дни с незнакомой библиотекой.
Зарание спасибо.
А еще на эту тему можно будет сделать статью. Это контент будет уникальным.
А вы случаем ту библиотеку не планируете подключать в приложение на Андроид?
И вообще использовать ActiveX на андроиде?
нет, не планирую
вот именно так работает конвертация:
конвертирует через ворд
Я вас поздравляю. Приятно наблюдать за прогрессом.
Пожалуй, я тогда не буду заниматься той библиотекой. Всё равно она какая-то мутная на первый взгляд.
и еще в конце нужно дописать для закрытия процесса (иначе будет в памяти висеть):