我被困在我的项目中 . 我的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