【发布时间】:2011-02-09 09:16:40
【问题描述】:
我最近尝试在 Silverlight 4 中生成报告。在我的问题域中,这些报告需要直接发送到打印机和/或客户端 SL 应用程序创建 PDF 并允许用户将其存储在某处。
就报告而言,它大致由 50% 的流文本(包括枚举)、30% 的表格和 20% 的图表组成。流文本部分使其更具挑战性,因为必须进行适当的换行。
到目前为止,我已经尝试了以下方法 - 每种方法都有自己的缺点,使它们不太可行:
Silverlight 自己的
PrintDocument:从技术上讲,有两个主要问题。一方面,让分页符工作并以适当的布局在其上打印 UIElements 有点肮脏,而且充满了妥协。谢天谢地,这是我迄今为止设法开始工作的部分。但是,PrintDocument类总是将所有视觉效果呈现为位图,然后再发送它们;如果一个人使用 PDF 打印机并希望仍然能够搜索/选择文本,这并不是很有趣。 David Poll 在“Silverlight and Beyond”[1] 中的方法并没有那么有用,因为它本质上遵循相同的方法,因此遇到了非常相似的问题。silverPDF [2]:一个几乎没有文档记录的库,需要手动完成大部分布局(前一种方法至少允许我重新使用 Silverlight 的布局引擎)。到目前为止,我看不到(例如)测量段落的方法,并且唯一具有长流文本的示例使用硬编码的绝对值作为布局矩形。另外,开发方似乎不活跃。
就个人而言,我现在正在考虑采用一种完全不同的策略:简单地生成 HTML 文档。但我希望这里的社区可能对上述两种方法有所提示或知道其他好的方法。
提前致谢, ~曼尼
【问题讨论】:
标签: silverlight pdf