我有一个表单,打印一些使用Crystal Report(13.030)和Visual Studio 2019创建的报告。每份报告的打印时间约为5/8秒。我已经尝试了在谷歌上找到的所有建议,但没有解决任何问题。由于报告大约10m,客户必须等待很长时间才能继续。
我读到这是一个已知的问题,但我不知道如何解决它。我一直在考虑在BackgroundWorker中进行打印,但我不确定这是否是个好主意。
我检查了报告框中没有打印机。这是我的一份报告,都很相似。我错了吗?
ReportDocument myReport = new ReportDocument();
myReport.Load("myreport.rpt");
PrintLayoutSettings PrintLayout = new PrintLayoutSettings();
PrinterSettings printerSettings = new PrinterSettings();
printerSettings.PrinterName = "PDF Creator"; // Any;
PageSettings pSettings = new PageSettings(printerSettings);
myReport.SetParameterValue("var1", "123");
myReport.SetParameterValue("var2", "ABC");
myReport.SetParameterValue("var3", "DEF");
myReport.PrintToPrinter(printerSettings, pSettings, false, PrintLayout);
myReport.Close();
我将打印文件移动到尽可能多的BackgroundWorkers中,显然一切都非常快,即使我不知道这是否是最好的解决方案。