c++ c ms-word document rtf

Escriba un archivo*.doc o*.rtf desde la aplicación ac/c++



ms-word document (5)

¿Cómo puedo escribir / generar un archivo * .doc programáticamente usando c o c ++? ¿Hay una biblioteca (de código abierto / plataforma cruzada) para hacer esto? Si esto no es posible, ¿puede escribir un archivo * .odt y luego convertirlo a * .doc? ¡Gracias por adelantado!

EDITAR: Anders Abel comentó que el tipo de archivo * .rtf es una opción, por lo que cualquier sugerencia sobre este también se acepta.


  1. O use Microsoft Word Interop con interfaz de objeto. Word necesita ser instalado.
  2. Usa rtf para cosas simples. Para cosas complicadas, rtf generalmente falla o se vuelve problemático.
  3. Considera el docx. Microsoft publicó toolkit para trabajar con docx.
  4. Doc está abierto, pero la especificación está escrita para alienígenas. Puedes intentar masticarlo.

El formato .doc es, como probablemente habrás notado, no abierto. Una solución más fácil a menudo es escribir un archivo .rtf, que se abre muy bien en MS Word. El formato .rtf está basado en texto y documentado públicamente. Siempre y cuando se mantenga el contenido bastante simple, escribir .rtf es simple.


Joel tiene un artículo interesante sobre este tema: http://www.joelonsoftware.com/items/2008/02/19.html

Básicamente, él sugiere:

  1. Use MS Word a través de COM para crear el documento.
  2. Genere otro formato que cargará MS Word, como RTF. RTF tiene la ventaja de que es un formato de texto. De modo que puede generar un documento de plantilla con marcadores de posición y luego ejecutar una operación de sustitución cuando desee generar sus documentos.

Puede usar Word COM.

Aquí hay un ejemplo de alguien que lo hace en C ++ pero parece un poco desactualizado y no estoy seguro de lo completo que es. Usualmente uso C # donde es realmente fácil simplemente agregar una referencia a Microsoft.Office.Word Interop.


Escriba el archivo html en su lugar, que es un formato de texto muy simple. Elija el nombre de la extensión de archivo como DOC. MS Word se abrirá correctamente.