如何从TabControl打印所有元素或生成PDF?

时间:2012-01-19 23:05:32

标签: silverlight printing pdf-generation tabcontrol printdocument

我有一个silverlight应用程序,它包含几个标签,我想打印或生成包含这些标签的PDF。
我尝试使用StackPanel添加每个标签,然后使用PrintDocument打印我看到的内容,但是有一个问题,因为标签太多,所以它们不适合A4的大小文档。
而且,当我将浏览器调整为较小的尺寸时,只会打印内容的可见部分。

是否有不同的方法可以在一个文档或PDF中打印所有内容?

1 个答案:

答案 0 :(得分:1)

PrintPage处理程序中的PrintPageEventArgs包含纸张大小,因此您可以计算在单个页面上打印的数量。

视觉树的打印(一部分)有其缺点;在屏幕上看起来不错的东西可能不适合纸张,尤其是涉及滚动和尺寸调整时。

解决方案是设计一个或多个用于打印的视图,并将相同的ViewModel绑定到PrintView。有点像用于创建网页打印版本的特殊CSS。

如果内容不合适,您应该使用更多页面。

This article by Charles Petzold is worth reading too