Detectar quando um PrintDocument imprime com sucesso (não apenas visualizado)
Estou fazendo uma impressão personalizada usando um PrintDocument na minha aplicação. Tenho o requisito de registrar quando nossos itens são impressos com sucesso. Eu originalmente consegui isso com algo como:
print_doc.EndPrint += (o,e) => printed_callback ();
Para fazer o meuprinted_callback
ser chamado quando uma impressão terminar. No entanto, agora que estou adicionando suporte à visualização, estou passando umPrintDocument
construído exatamente da mesma maneira em um PrintPreviewDialog. Fazer isso faz com que oEndPrint
evento a ser chamado após a renderização inicial da impressão necessária para a visualizaçã
omo resultado, mesmo se um usuário clicar em "Visualizar" e apenas fechar a visualização, nosso código de registro será chamad
Alguma sugestão de como diferenciar uma impressão real e uma "impressão prévia"? Infelizmente, não posso simplesmente não me conectar aEndPrint
para oPrintDocument
passou para oPrintPreviewDialog
já que o usuário pode clicar no botão "Imprimir" na caixa de diálogo de visualização e acionar uma impressã