.net结束打印活动

时间:2013-10-04 07:57:04

标签: c# .net printing

我正在使用以下代码与PrintDocument类合作:

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事件在文档呈现(并发送到打印机)时发生,但尚未打印在纸上。

我应该查看实际印在纸上的文件。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

  

我应该查看实际印在纸上的文件

一般情况下,使用抽象打印机无法实现您的目标。

即使你要监控特定打印机的打印作业状态,使用假脱机程序API,你可以遇到这种情况,当作业被发送到打印机时(因此,假脱机程序认为它被打印),但是没有实际的打印(例如,纸张已结束,用户已重新启动打印机)。