Как текст из Word перевести в формат HTML
Здравствуйте.
Как текст из Word перевести в формат HTML?
Ниже приведена функция получения текста в формате обычной строки.
- QString ResumeFileName ("");
- ResumeFileName = QFileDialog::getOpenFileName(0, "Выберете резюме hh.ru", "", "*.doc *.docx *.rtf");
- ResumeFileName.replace(QRegExp("[/]"), "\\");
- qDebug()<<ResumeFileName;
- if (ResumeFileName != "")
- {
- QAxObject wordApplication("Word.Application");
- QAxObject *documents = wordApplication.querySubObject("Documents");
- QAxObject *document = documents->querySubObject("Open(const QString&, bool)", ResumeFileName, true);
- QAxObject *words = document->querySubObject("Words");
- QString TextResume;
- QString HTMLResume;
- int countWord = words->dynamicCall("Count()").toInt();
- for (int a = 1; a <= countWord; a++){
- TextResume.append(words->querySubObject("Item(int)", a)->dynamicCall("Text()").toString());
- HTMLResume.append(words->querySubObject("Item(int)", a)->dynamicCall("Text()").какаято функция);
- }
- document->dynamicCall("Close (boolean)", false);
- TextResume.replace(QRegExp("[\r]"), "\r\n"); //замена символов
- qDebug()<<TextResume;
- QString Coments1 ("");
- LoadResumeInDB(TextResume, Coments1, HTMLResume);
- }
3
252
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- DTApril 14, 2025, 3:38 p.m.Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
toHtmlEscaped()
Так нельзя, выдает ошибку: no member named 'toHtmlEscaped' in 'QVariant'
Я хотел бы сохранить форматирование и картинки
Ваш вопрос был "Как текст из Word перевести в формат HTML?". Ошибку выдает, потому что это функция класса QString, а не QVariant.
Если хотите документ HTML с форматированием и картинками, тогда нужно сам документ Word сохранять как Вэб страницу, а потом загружать готовый HTML в программу. Но учтите, что Word сохраняет HTML с кучей ненужных элементов.
Сам формат документа HTML известен .
А QVariant нельзя сохранить как HTML?
Не знаете, как сохранить Word в HTML?
В Вашем коде QVariant содержит строку, поэтому
Но это не решает Вашу проблему сохранения форматирования и картинок. Полагаю, что после открытия документа:
нужно вызвать функцию "SaveAs()" через ActiveX и указать формат сохранения HTML.
Скажите пожалуйста, как вызвать функцию "SaveAs()" через ActiveX ?
Этот текст можно перевести в ByteArray, может быть из него можно перевести в HTML?
Вот тут нашел решение.
Попробовал сдалать так, но выдает ошибки при работе
Помогите пожалуйста с этим разобраться
А так?
Программа также ломается при работе с ошибкой:
QAxBase::dynamicCallHelper: WebOptions: No such property in [unknown]
Candidates are:
Еще тут обсуждали похожий вопрос, но я пока не смог из этого составить ничего рабочего.
Пожалуйста помогите.
И еще есть такая функция, но как ей воспользоваться
QString QAxBase::generateDocumentation ()
Returns a rich text string with documentation for the wrapped COM object. Dump the string to an HTML-file, or use it in e.g. a QTextBrowser widget.
А если так написать
то не выбрасывает, но возникают трудности с кодировкой :
QAxBase::dynamicCallHelper: Encoding: No such property in [unknown]
Candidates are:
Editors
EmphasisMark
End
EndnoteOptions
Endnotes
EnhMetaFileBits
А если написать так, то выкидывает
или может быть можно QVariant разметить на QTextEdit, а от туда перевести в HTML?
Если делать так, то почти работает
Наверно нужна только верная кодировка.
Может Вы знаете какая?
Видимо можно использовать эту библиотеку
И использовать этот код:
Вот только не могу подключить библиотеку.
Помогите пожалуйста
Никак вы её не подключите в проект на Qt. Это C# библиотека.
На основании этого кода получил структуру
Пробую сделать так:
Но получаю ошибку :
D:\QTProject\ReaderResume\mainwindow.cpp:1198: ошибка: cannot call member function 'QString ConvertDocInHTML::saveVariant(const QVariant&)' without object
HTMLResume = ConvertDocInHTML::saveVariant(HTMLQVariant);
Не знаете ли Вы как можно воспользоваться этой структурой?
вы вызываете saveVariant как статический метод, а он таковым не является. Нужно создать объект ConvertDocInHTML, а потом из этого объекта вызывать данный метод.
Спасибо, заработало.
Но выдало обычный текст без форатирования HTML.
Придется искать дальше