将WPF UI对象嵌入到Word / OpenOffice文档中?

时间:2011-02-17 20:42:39

标签: .net wpf ole

我正在开发一个需要将自定义对象嵌入到文档(Microsoft Word或OpenOffice Writer)中的项目。这些对象基本上类似于Microsoft Equation或OpenOffice Formula对象,除了它们将呈现并允许编辑特定于我们业务的内容。最终,文档将导出为PDF。

由于此项目中的所有其他内容都基于WPF,并且我们的开发环境和构建过程基于.Net,因此能够使用专用或几乎专用的WPF / .Net来创建这些对象会很好。

将对象嵌入到文档中最明显的选择是OLE,但据我所知,WPF对OLE的支持很少。

我有哪些选择?什么是最好的(可靠,高效和简单)这样做?

(或者,如果有人确切知道除了使用像C ++或VB6这样的语言进行OLE之外没有其他好的方法,那么这也很好)

1 个答案:

答案 0 :(得分:0)

您可以在WPF RichTextBox内执行此操作,只需插入InlineUIContainer(或BlockUIContainer),其中可以放置任何UIElement,如按钮或任何更复杂的内容。< / p>

然后,您可以使用OpenXML SDK将RichTextBox内容(或{1}}转换为RTF或XAML或HTML,或转换为Office OpenXML格式(.docx)。

也许可以将FlowDocument替换为实际的Microsoft Word窗口,卡在WPF应用程序中,并将WPF控件嵌入其中,就像使用RichTexBox一样,但我不这样做知道怎么样。如果我发现,我会发布。