从c / c ++应用程序中写入* .doc或* .rtf文件

时间:2010-02-28 09:22:42

标签: c++ c ms-word document rtf

如何使用c或c ++以编程方式写入/生成* .doc文件?是否有(开源/跨平台)库来执行此操作?如果这不可能,可以写一个* .odt文件,然后将其转换为* .doc?提前谢谢!

编辑:Anders Abel评论说* .rtf文件类型是一个选项,因此也接受任何有关此文件的建议。

5 个答案:

答案 0 :(得分:3)

乔尔有一篇关于这个主题的有趣文章:http://www.joelonsoftware.com/items/2008/02/19.html

基本上他建议:

  1. 通过COM使用MS Word创建文档。
  2. 生成MS Word将加载的另一种格式,例如RTF。 RTF的优点是它是一种文本格式。因此,您可以使用占位符生成模板文档,然后在生成文档时运行替换操作。

答案 1 :(得分:2)

  1. 使用Microsoft Word Interop和对象界面。需要安装Word。
  2. 使用rtf来表示简单的东西。对于复杂的东西,rtf通常会失败或变得麻烦。
  3. 考虑docx。 Microsoft发布了使用docx工作的工具包。
  4. Doc是开放的,但规范是为外星人编写的。你可以尝试咀嚼它。

答案 2 :(得分:2)

编写html文件,这是非常简单的文本格式。选择文件扩展名作为DOC。 MS Word将正确打开。

答案 3 :(得分:1)

您可以使用Word COM。

Here's有人在C ++中这样做的一个例子,但它看起来有点过时,我不确定它有多完整。我通常使用C#,只需添加对Microsoft.Office.Word Interop的引用即可。

答案 4 :(得分:0)

.doc格式,你可能已经注意到没有打开。更简单的解决方法通常是编写.rtf文件,该文件在MS Word中打开很好。 .rtf格式基于文本并公开记录。只要保持非常简单的内容,编写.rtf就很简单。