Чтение файла OpenOffice в C/С++

Вопрос: Мне любопытно, как я могу использовать мой компилятор для открытия документов OpenOffice. Я знаю, что я мог бы преобразовать его в текстовый файл или rtf, но мне интересно, можно ли читать прямо из.odt. То, что я пытаюсь сделать, просто читать по строкам так же, как и файл.txt. Любые идеи были бы хороши, я использую

Вопрос:

Мне любопытно, как я могу использовать мой компилятор для открытия документов 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

Идея будет такой же, просто разные библиотеки, чтобы сделать тяжелый подъем.

Оцените статью
Добавить комментарий