在Silverlight 3中显示Ms Word 2003 .doc

问题描述:

我目前正在Silverlight中编写一个应用程序,它需要一个控件来显示Word 2003文档。我也可以在webservice发送它之前转换文档,但2003年的格式似乎是相当苛刻的操纵。我知道有一些软件可以做到,但你必须购买它们。你有任何线索可以帮助我进步吗?在Silverlight 3中显示Ms Word 2003 .doc

您希望达到的保真度级别是多少?

我敢肯定,这样的“最简单”的方法是将文件以XPS服务器端转换(与XPS打印机也许),然后操纵它来创建一个Silverlight兼容的内容(XAP)

为什么这个?因为,例如:

  • Silverlight不支持流文档,因此您不希望在客户端上执行布局。
  • Silverlight需要将字体包含在使用它的同一个XAP中(即使在同一个程序集中),因此您需要生成一个将字体嵌入到服务器端的程序集。
  • XPS是一个压缩包中的XAML(因此比Word2003 doc更好管理),但它不是Silverlight Xaml,需要先将它转换为Silverlight,然后才能在Silverlight应用上读取它(使用XSLT?请注意,有些计算需要将视口转换为缩放/平移转换)。好消息是任何布局问题都在XPS生成过程中得到了关注。

我有一个实习生为一年前的Silverlight设计了XPS阅读器原型。它的工作,但渲染并不完美(但我可能已经有更多的工作)

总而言之:这是可能的,不是很复杂,但需要很多工作和实践在一些领域(从XSLT组装生成,以及XPS规范的知识)。但我不知道有任何免费解决方案。

因此,我会推荐使用可用(和工作)解决方案,而不是采取风险发展的路线。

+0

感谢您的详细解答。我会尝试XPS的转换。失去一些忠诚不会是一个问题。 – Louhike 2011-04-20 09:44:12

+0

然后忘记字体等东西。这样你就不必在服务器上生成程序集。 – Eilistraee 2011-04-20 10:27:21