0

我在基于 C# 窗口的应用程序中使用水晶报表来打印销售发票和账单,但问题是需要很长时间才能进行,为此我需要一些实时和快速的方法,请提出一些解决方案。我通过数据库中的程序链接我的水晶报告,是打印发票而不是水晶报告的任何替代方法......

4

2 回答 2

2

如果您花时间了解让她开心的原因,Crystal 会“很快”。根据我的经验,实际打印可以占大部分处理时间。创建 .rpt 文件可能只需要 25 毫秒,但与打印机服务器协商则需要 5000 毫秒。我花了数周时间研究 Crystal 服务器端打印。

它有很大的不同:

  • 你是如何打印的:ReportDoc.PrintToPrintervs。PrintOutputController.PrintReport

  • 所选打印机是否使用与您用于开发报告的打印机相同的驱动程序。

  • 打印机是否安装在服务器上(或仅安装在远程打印机服务器上)以及是否安装在 IIS_Identity 的配置文件中。

如果配置不正确,打印报告可能需要 1 - 2 分钟(基于第一手经验)。做一些调整,你会突然小于 50 毫秒。

例如,如果您正在使用PrintToPrinter()并且指定的打印机不在 IIS 用户的 .NET 安装打印机列表中,则打印需要很长时间。安装打印机,以便 IIS 用户可以使用它,并且 bam,打印是即时的。

于 2013-03-06T03:39:21.720 回答
1

我在一个 winforms 项目中遇到了一个问题,报告需要很长时间才能加载,但这只是第一次。后来当报告运行时,他们根本没有问题。

我们假设框架花费时间将晶体组件加载到内存中。

所以我创建了一个 hack,每当应用程序运行时,我都会在后台线程中加载一个空报告。

于 2015-12-15T14:08:08.387 回答