Записать файл * .doc или * .rtf из приложения c / c ++ - PullRequest
4 голосов
/ 28 февраля 2010

Как я могу записать / сгенерировать файл * .doc программно, используя c или c ++? Существует ли библиотека (с открытым исходным кодом / кросс-платформенная) для этого? Если это невозможно, можете написать файл * .odt и затем преобразовать его в * .doc? Заранее спасибо!

РЕДАКТИРОВАТЬ: Андерс Абель отметил, что тип файла * .rtf является опцией, поэтому любые предложения по этому вопросу также принимаются.

Ответы [ 5 ]

3 голосов
/ 28 февраля 2010

У Джоэля есть интересная статья на эту тему: http://www.joelonsoftware.com/items/2008/02/19.html

В основном он предлагает либо:

  1. Используйте MS Word через COM для создания документа.
  2. Создание другого формата, который будет загружать MS Word, например RTF. RTF имеет то преимущество, что это текстовый формат. Таким образом, вы можете сгенерировать шаблонный документ с заполнителями, а затем просто выполнить операцию замещения, когда вы хотите сгенерировать ваши документы.
2 голосов
/ 24 марта 2011

Вместо этого напишите html файл, который является очень простым текстовым форматом. Выберите расширение файла как DOC. MS Word откроется правильно.

2 голосов
/ 28 февраля 2010
  1. Либо используйте Microsoft Word Interop с интерфейсом объекта. Слово должно быть установлено.
  2. Используйте rtf для простых вещей. Для сложных вещей обычно RTF терпит неудачу или становится проблематичным.
  3. Рассмотрим docx. Microsoft опубликовала инструментарий для работы с docx.
  4. Документ открыт, но спецификация написана для инопланетян. Вы можете попытаться пережевать это.
1 голос
/ 28 февраля 2010

Вы можете использовать Word COM.

Вот один пример того, как кто-то делает это на C ++, но выглядит немного устаревшим, и я не уверен, насколько он завершен Я обычно использую C #, где действительно просто добавить ссылку на Microsoft.Office.Word Interop.

0 голосов
/ 28 февраля 2010

Формат .doc, как вы, наверное, заметили, не открыт. Более простым решением является написание файла .rtf, который красиво открывается в MS Word. Формат .rtf основан на тексте и публично документирован. Если придерживаться довольно простого содержимого, писать .rtf просто.

...