WPF报告打印

时间:2013-07-15 06:46:44

标签: c# wpf printing crystal-reports

我正在使用C#和WPF生成水晶报告。

到目前为止,我的代码是

report.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)System.Drawing.Printing.PaperKind.A5;
report.PrintToPrinter(2, true, 0, 0);
crystalReportsViewer1.ViewerCore.ReportSource = report;
crystalReportsViewer1.ToggleSidePanel = SAPBusinessObjects.WPF.Viewer.Constants.SidePanelKind.None;

我需要显示一个对话框,即PrintDialog,允许用户选择要打印的打印机,其余的打印设置由我在代码中完成。请建议......

1 个答案:

答案 0 :(得分:0)

尝试以下代码

        PrintDialog printDialog1 = new PrintDialog();

        if (printDialog1.ShowDialog() == true)
        {
            report.PrintOptions.PrinterName = printDialog1.PrintQueue.Name;
            report.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)System.Drawing.Printing.PaperKind.A5;
            report.PrintToPrinter(2, true, 0, 0);
            crystalReportsViewer1.ViewerCore.ReportSource = report;
            crystalReportsViewer1.ToggleSidePanel = SAPBusinessObjects.WPF.Viewer.Constants.SidePanelKind.None;
        }

System.Printing必须在您的引用中,以便您可以使用PrintQueue.Name。