С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
krv
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 328
1

Считать текст из doc (docx) файла используя LibreOffice

30.09.2014, 11:12. Просмотров 1215. Ответов 4
Метки нет (Все метки)

Есть тема с ответом
Считать текст из doc но там используется Word
А если его нет, он же платный?
Есть такие же возможности у LibreOffice?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2014, 11:12
Ответы с готовыми решениями:

Считать текст из файлов с расширениями *.doc и *.docx
Здравствуйте! Мне нужно считать текст (не содержащий таблиц, изображений и...

В Memo или RichEdit вставить текст из файла doc или docx
Люди помогите плиз, весь нэт обрыл. Нужно в Builder, в Memo или RichEdit ...

Открытие файла docx или doc
Подскажите, пожалуйста, как прописать, чтоб при нажатии на кнопку...

Считать каждую строку из файла .doc
Рябята, я делаю курсовую и у меня есть такая проблема: Моя программа должна...

Считать данные из таблицы в doc файла
Добро всем! :senor: У меня возникла задача считать данные из таблицы которая...

4
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26542 / 17828 / 7051
Регистрация: 22.10.2011
Сообщений: 31,371
Записей в блоге: 6
30.09.2014, 11:46 2
Libre не держу, у OpenOffice - точно есть:
C++
1
2
3
4
5
6
7
    Variant App = Variant::CreateObject("com.sun.star.ServiceManager");
    Variant Desktop = App.OleFunction("createInstance", WideString("com.sun.star.frame.Desktop"));
    int Bounds[2] = {0, -1};
    Variant Array = VarArrayCreate(Bounds, 1, varVariant);
    Variant ODocument = Desktop.OleFunction("LoadComponentFromURL",
        WideString("file://localhost/D:/test/01.doc"), WideString("_blank"), 0, Array); // Грузим файл
    String s = ODocument.OleFunction("GetText").OlePropertyGet("String"); // И получаем его содержимое в виде строки
1
krv
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 328
30.09.2014, 14:51  [ТС] 3
Спасибо за код для Опеноффиса, тоже вариант.
Но как сделать офис невидимый и выйти с него потом?
строки
C++
1
2
    App.OlePropertySet("Visible",false);
    App.OleFunction("Quit");
Не срабатывают... вызывая исключение.
Или где о них прочесть можно?
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26542 / 17828 / 7051
Регистрация: 22.10.2011
Сообщений: 31,371
Записей в блоге: 6
30.09.2014, 15:18 4
Лучший ответ Сообщение было отмечено krv как решение

Решение

Цитата Сообщение от krv Посмотреть сообщение
Но как сделать офис невидимый и выйти с него потом?
Легко:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Variant App = Variant::CreateObject("com.sun.star.ServiceManager");
    Variant Desktop = App.OleFunction("createInstance", WideString("com.sun.star.frame.Desktop"));
    int Bounds[2] = {0, 0};
 
    Variant OpenParams = VarArrayCreate(Bounds, 1, varVariant);
    Variant MyStruct = App.OleFunction("Bridge_GetStruct",
        WideString("com.sun.star.beans.PropertyValue"));
    MyStruct.OlePropertySet("name", WideString("Hidden")); // Устанавливаем атрибут "Скрытый"
    MyStruct.OlePropertySet("value", true);
 
    OpenParams.PutElement(MyStruct, 0);
    // Открытие файла
    Variant ODocument = Desktop.OleFunction("LoadComponentFromURL",
        WideString("file://localhost/D:/test/01.doc"), WideString("_blank"), 0,
        OpenParams); // И открываем документ с этим атрибутом
 
    // Делаем все, что нужно
    String s = ODocument.OleFunction("GetText").OlePropertyGet("String");
 
    // Закрываем документ
    ODocument.OleFunction("close", true);
    ODocument = Unassigned();
 
    // И завершаем Десктоп
    Desktop.OleFunction("terminate");
    Desktop = Unassigned();
}
0
krv
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 328
30.09.2014, 15:25  [ТС] 5
Вот же ж понаписуют...или понапишут. методом тыка не разобраться )
0
30.09.2014, 15:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2014, 15:25

Анализ (поиск) текста в doc/docx
Задача следующая: надо проверить, есть ли текст "111" в файле MSWord. Думала...

Как считать из файла текст в виде последовательности битов?
Пишу курсовую: реализация алгоритма СRC32. Надо считать текст из файла (в файле...

Считать текст из файла и вывести на экран только предложения, не содержащие запятых
Написать программу, которая считывает текст из файла и выводит на экран только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru