0

我正在开发一个 VB.Net WinForms 应用程序。这个应用程序显示了用户将逐行向下打印一包 ActiveReports 文档的生产线行。此包最多可包含 9 个报告。包被选中并被告知打印,然后使用 ActiveReports 的机制直接发送到机器的默认打印机:

rpt.Document.Print(False, False, True)

这些报告还使用从文件系统中提取的图像。当他们快速穿过行时,他们有时会遇到:

A generic error ocurred in GDI+

然后是:

Exception of type "System.OutOfMemoryException" was thrown.

这会导致一些文档无法打印,他们必须返回并找出哪些文档没有打印。我知道机器没有内存不足,所以我的假设是打印机内存已满,或者报告在打印时尝试使用相同的图像并导致出现问题。

如果是打印机内存已满,有没有办法减慢将文档添加到打印队列的速度,或者至少暂停等待空间?我有点不知所措,希望有任何建议。

谢谢。

4

1 回答 1

1

我决定只使用 ActiveReports 中内置的缓存功能。这似乎缓解了打印机的一些问题。我还添加了一些减慢线程的速度,以确保在将更多文档添加到打印队列之前清除内存。谢谢。

于 2011-10-07T18:35:01.830 回答