在 Crystal Reports 中,如果其他开发人员设计了报表,我会看到错误“此报表使用了无效的打印机。将使用默认打印机。”
我注意到当报告出现此错误消息时,以编程方式打开报告需要很长时间。使用无效打印机加载一份报告最多需要 1 1/2 分钟,而当我修复打印机时,加载只需要 5 秒。问题是,我们可以在我们的网络打印机中修复报告,但是我们将我们的软件部署给没有我们打印机设置的客户。他们可能对所有报告都有这些加载时间。
如何以编程方式将打印机设置为默认打印机,以加快报告加载速度?
下面的代码不起作用;至少,加载仍然需要 1 1/2 分钟,无论我是否能够从该打印机名称打印。我正在使用 ReportDocument (CrystalDecisions.CrystalReports.Engine.ReportDocument) 对象进行打印。这是代码片段,以及我尝试设置新打印机的位置。
// 创建 CrystalDecisions.CrystalReports.Engine.ReportDocument 对象 ReportDocument crReportDocument = new ReportDocument(); // 通常设置为 .PortableDocFormat ExportFormatType selectedOutputType = m_ExportFormat; System.Drawing.Printing.PrinterSettings 打印机设置 = new System.Drawing.Printing.PrinterSettings(); crReportDocument.PrintOptions.PrinterName = 打印机设置.PrinterName; // Load() 需要很长时间 // 如果 RPT 文件是用在这台计算机上找不到的打印机保存的。 crReportDocument.Load(m_FileName);