我正在开发一个需要将自定义对象嵌入到文档(Microsoft Word或OpenOffice Writer)中的项目。这些对象基本上类似于Microsoft Equation或OpenOffice Formula对象,除了它们将呈现并允许编辑特定于我们业务的内容。最终,文档将导出为PDF。
由于此项目中的所有其他内容都基于WPF,并且我们的开发环境和构建过程基于.Net,因此能够使用专用或几乎专用的WPF / .Net来创建这些对象会很好。
将对象嵌入到文档中最明显的选择是OLE,但据我所知,WPF对OLE的支持很少。
我有哪些选择?什么是最好的(可靠,高效和简单)这样做?
(或者,如果有人确切知道除了使用像C ++或VB6这样的语言进行OLE之外没有其他好的方法,那么这也很好)
答案 0 :(得分:0)
您可以在WPF RichTextBox
内执行此操作,只需插入InlineUIContainer
(或BlockUIContainer
),其中可以放置任何UIElement
,如按钮或任何更复杂的内容。< / p>
然后,您可以使用OpenXML SDK将RichTextBox
内容(或{1}}转换为RTF或XAML或HTML,或转换为Office OpenXML格式(.docx)。
也许可以将FlowDocument
替换为实际的Microsoft Word窗口,卡在WPF应用程序中,并将WPF控件嵌入其中,就像使用RichTexBox
一样,但我不这样做知道怎么样。如果我发现,我会发布。