我目前正在 Silverlight 中编写一个应用程序,该应用程序需要一个控件来显示 Word 2003 文档。我也可以在 web 服务发送之前转换文档,但是 2003 格式似乎很难操作。我知道有一些软件可以做到这一点,但你必须购买它们。你有什么线索可以帮助我进步吗?
问问题
496 次
1 回答
0
您想要达到的保真度是多少?
我很确定这样做的“最简单”的方法是将文档转换为 XPS 服务器端(可能使用 XPS 打印机),然后对其进行操作以创建与 Silverlight 兼容的内容(XAP)
为什么这个?因为,例如:
- Silverlight 不支持流文档,因此您不希望必须在客户端上执行布局。
- Silverlight 要求字体包含在使用它的同一个 XAP 中(即使在同一个程序集中),因此您需要生成一个程序集,其中嵌入了服务器端的字体。
- XPS 是 zip 中的 XAML(因此比 Word2003 文档更易于管理),但它不是 Silverlight Xaml,您需要先将其转换为 Silverlight,然后才能在您的 Silverlight 应用程序上读取它(使用 XSLT?请注意,那里是将视口转换为缩放/平移变换所需的一些计算)。好消息是在 XPS 生成过程中解决了所有布局问题。
一年前,我有一个实习生为 Silverlight 设计了 XPS 阅读器的原型。它有效,但渲染并不完美(我本来可以做更多的工作)
一句话:这是可能的,不是很复杂,但需要在几个领域(从 XSLT 到程序集生成,以及 XPS 规范的知识)中进行大量工作和实践。但我不知道有任何可用的免费解决方案。
因此,我建议使用可用(且有效)的解决方案,而不是采取冒险的开发路线。
于 2011-04-20T09:27:14.710 回答