Вопрос:
Мне любопытно, как я могу использовать мой компилятор для открытия документов OpenOffice. Я знаю, что я мог бы преобразовать его в текстовый файл или rtf, но мне интересно, можно ли читать прямо из.odt. То, что я пытаюсь сделать, просто читать по строкам так же, как и файл.txt. Любые идеи были бы хороши, я использую DevC, если это помогает.
Ответ №1
Согласно Википедии, файл.odt – это просто стандартный ZIP-архив, состоящий из следующего:
- XML файлы:
- content.xml
- meta.xml
- settings.xml
- styles.xml
- Другие файлы:
- MimeType
- Справочники
- META-INF/:
- manifest.xml
- Миниатюры/:
- thumbnail.png
Content.xml будет содержать содержимое файла (для информации о других файлах см. Ссылку в Википедии выше). Вы можете использовать любую библиотеку XML для анализа этого XML файла (и других) для чтения данных. Вся ваша программа должна будет сделать это, чтобы распаковать файл.odt, а затем передать любой XML файл, который вы хотите разборки в библиотеке XML.
Примеры библиотек XML, которые вы можете использовать, упоминаются в qaru.site/questions/137605/….
Для распаковки файла.odt у вас есть несколько достойных вариантов:
- libzip, как предложено qaru.site/questions/180508/….
- 7zip
Ответ №2
Должен ли он быть C/C++? Linux Journal сделал хорошую запись при анализе файла ODT с помощью Python.
http://www.linuxjournal.com/article/9347
Идея будет такой же, просто разные библиотеки, чтобы сделать тяжелый подъем.