Как можно создать документ OpenOffice в C++

Возможный дубликат:
Создание, открытие и печать текстового файла из C++

Привет,

Мне нужно создать текстовый документ из программы на C++, я использую сервер Windows 2008, иногда здесь происходит сбой автоматизации офиса, а также мне нужен неинтерактивный сервис для обработки, поскольку автоматизация предоставляет интерактивный сервис. Я реализовал автоматизацию, иногда она дает сбой

Как я могу создать документ OpenOffice / Word?

Можете ли вы предложить мне какие-либо ссылки или учебники, чтобы сделать выше.

PS - я узнал о паре методов 1.Openoffice SDK 2.OpenXML SDK

Если вы работали с вышеупомянутым, пожалуйста, предложите мне, что из вышеперечисленного использовать.

заранее спасибо

3 ответа

Решение

Вот недавно выпущенная библиотека C под названием libOPC, которая имеет то же назначение, что и Open XML SDK, но может использоваться во всех Linux/Windows/Mac/ и т. Д. Вы можете прочитать об этом здесь: libOPC версии 0.0.1 выпущен и получить код от CodePlex (не забудьте проверить страницу документации для демонстрационных видео).

Я советую вам взглянуть на эту страницу, где автор объясняет, какое решение он использовал для создания документов Word на сервере, без MsWord, без автоматики или сторонних библиотек.

Использование Open Office XML SDK и Open Office XML напрямую - хорошие варианты, если вы ориентируетесь на Word 2007 и выше.

Если вы ориентируетесь на пользователей Word 2003 и более ранних версий, возможно, это не лучший вариант. Однако даже эти пользователи могут установить бесплатный фильтр, чтобы иметь возможность открывать документы Word 2007 (.docx) в Word 2003. Вы можете сделать ссылку на эту загрузку из своего приложения. У большинства людей с Word 2003 или более ранней версии этот фильтр, вероятно, установлен в любом случае, поскольку они часто сталкиваются с ситуациями, когда люди обмениваются новыми файлами.

http://www.microsoft.com/DOWNLOADS/en/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en

Open Office XML SDK - это.NET API для чтения и записи.docx и других файлов Office 2007. Если вы используете C++/CLI, то вы можете использовать это достаточно легко, и это упростит процесс написания файлов.docx.

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en

Однако, если вы используете прямой C++ без.NET, вы не можете использовать SDK. Это не огромная потеря, хотя. В любом случае SDK - это лишь очень небольшая оболочка для файлов XML. Файл docx - это просто zip с кучей XML-файлов внутри. Есть некоторые странности в отношениях между файлами и тем, где хранится текст, и как на некоторые вещи ссылаются позиционно, а не на идентификаторы, что обычно считается очень плохой практикой в ​​XML. Несмотря на это, эти проблемы легко обойти, и вы можете создавать файлы.docx вручную без особых проблем. На самом деле создавать намного проще, чем читать.

SDK по-прежнему полезен тем, что содержит инструмент исследования файлов, который предоставит вам графический проводник для существующих файлов. Если вы хотите узнать, как создать конкретный контент, сделайте это в Word 2007, сохраните файл и посмотрите, что в нем содержится.

Другие вопросы по тегам