.net结束打印事件 [英] .net end printing event
问题描述
我正在使用 PrintDocument 使用以下代码的类:
i`m working with PrintDocument class using the following code:
printDocument.PrintPage += (s, ev) =>
{
ev.Graphics.DrawImage(bitmap, Point.Empty);
ev.HasMorePages = false;
};
printDocument.EndPrint += (sender, args) =>
{
var buyerDTO = buyerRow.Buyer;
buyerDTO.EnvelopePrinted = true;
View.Control.Invoke(new Action(() => View.UpdateBuyer(buyerDTO)));
Manager.UpdateBuyer(buyerDTO);
((IDisposable)sender).Dispose();
View.Control.Invoke(
new Action(() => View.SetResetPrintStatusEnable(View.CurrentBuyers.Any(buyer => buyer.EnvelopePrinted))));
};
printDocument.Print();
据我了解 EndPrint 呈现(并发送到打印机)但尚未打印在纸上的文档时,发生事件.
as i understand EndPrint event occurs when document rendered (and sent to printer), but not yet printed on paper.
我应该检查文件是否实际打印在纸上.我该怎么办?
I should check is document actually printed on paper. How can i do this?
推荐答案
我应该检查文档是否实际打印在纸上
I should check is document actually printed on paper
在一般情况下,使用抽象打印机无法实现所需的功能.
In general case, you can't achieve what you want with abstract printer.
即使您使用后台处理程序API监视特定打印机的打印作业状态,也可能遇到将作业发送到打印机时的情况(因此,后台处理程序认为是已打印),但是没有实际的情况.打印(例如,纸张已用完,并且用户重新启动了打印机).
Even if you'll monitor printing job state for particular printer, using spooler API, you can run into the case, when job was sent to printer (thus, spooler thinks, that it was printed), but there were no actual printing (e.g., paper has ended, and the user has rebooted printer).
这篇关于.net结束打印事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!