我正在使用旧System.Drawing.Printing
命名空间中可用的方法进行打印,因为该PrintDocument
对象提供了一个PrintPage
事件,允许我加载图像并立即处理它。尝试使用 FixedDocument 进行打印通常会导致内存不足。
然而,我遇到了一个奇怪的问题——EndPrint
一旦它假脱机页面,我就使用事件处理程序关闭我的打印应用程序。如果我只是调用Close()
我的打印文档,有时会出现缺页或打印机输出模糊(超时/语法)错误。
我目前的解决方法有点像 hack,涉及调用Hide()
然后在关闭它之前等待任意时间(在我的情况下为 30 秒),这似乎有效。
我真的不喜欢这种方法——你怎么知道要等多少时间?EndPrint 不应该确保最后一页已假脱机吗?
有人对“正确”修复有想法吗?或者解释一下是怎么回事?
干杯