如何在WPF应用程序中将Stack Panel打印到a4纸张尺寸

时间:2018-09-16 13:33:44

标签: c# wpf printing

我被困在我的项目中。我的WPF应用程序是文本编辑器应用程序。它包含各种堆栈面板。每个堆栈面板都有多个文本块。每个堆叠面板的宽度为500,高度为800。

我需要提供打印功能。当用户单击“打印”按钮时,每个堆叠面板都应打印到每种a4尺寸的纸张上。

注意:堆栈面板中的每个文本块都是格式化的文本。因此不能使用e.graphics.drawString。因为我需要准确维护每个打印页面中每个堆栈面板的外观。

请指导我如何将每个堆叠面板打印为a4纸张尺寸?请查看下图。白色部分是堆叠面板。目前它有25个堆栈面板。因此,当我打印时,PDF文件应包含25页,并且每页应与应用程序中的每个堆栈面板完全相同。抱歉要求这么大的帮助。很长一段时间以来,我一直在努力寻找答案。任何指导,任何帮助都将受到真正的欢迎。提前致谢。

我正在使用的代码是:

private void PrintDocument() {
            PrintDialog pd = new PrintDialog();
            foreach (StackPanel spnl in rootStackPanel.Children) {
                pd.PrintVisual(spnl,"Printing..");
            }

        }

此代码有问题,它将每个堆栈面板打印在单独的PDF文件中!

Please look into the image

0 个答案:

没有答案