我有一个带框架的 WPF 窗口。我有一些代码可以使用 printdialog 和 printvisual 打印出框架的内容。但这只会打印屏幕上显示的内容,即使框架滚动且其他部分可用。
有没有办法添加分页并确保我的框架的整个内容都会打印出来。
或者是否有另一种方法来获取我的框架内容并打印它?即不使用printvisual?
最佳答案
是的。我已经这样做了。这不是很困难。
上面的描述假设你想将frame的宽度固定为页面宽度,并垂直分页。这适用于网页,但不适用于电子表格。对于类似电子表格的内容,您可以将 ScrollViewer 设置为允许双向滚动,从而为每个方向的框架提供无限空间。在这种情况下,IDocumentPaginator 是相同的,只是选择了 RenderTransforms 和剪辑来进行水平和垂直迭代。
这种技术实际上适用于任何 WPF 内容,而不仅仅是框架。
另请参阅
Paginated Printing of WPF Visuals
关于WPF - 打印视觉效果时的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2211302/