Essa minha dúvida é a seguinte…
Eu fiz alguns relatórios (consultas) no meu projeto. Normalmente, por padrão, nas consultas vem aquele agrupamento de botões, onde o usuário pode escolher o que fazer com a consulta mostrada na tela. Ele pode gerar PDF, gerar XLS, DOC, XML… e “Imprimir”.
Quando eu seleciono imprimir ele abre uma modal para eu escolher se quero imprimir o relatório completo ou apenas a página atual e também se quero imprimir colorido ou preto e branco.
Depois que seleciono isso, ele abre uma nova janela do browser (nesse caso não é modal), com o relatório para ser impresso.
Daí o usuário tem que teclar “Ctrl->P” para enviar para impressora.
Daí aparece a tela do windows para selecionar a impressora.
Baita mão de obra pro usuário. Acho que é pro usuário ser mais ecológico e economizar papel.
Mas pra facilitar um pouco a vida do usuário eu coloquei esse código no meu evento onFooter:
echo ’
Beleza… Quando gera o relatório, já abre a tela de escolher impressora do windows. Se o usuário mandar imprimir, ele envia pra impressora e fecha a tela do relatório.
O problema é que ele sempre abre essa tela de impressora… mesmo se eu mandar gerar o relatório em PDF ou em XLS.
Porque, pelo que eu entendi, ele roda de novo o relatório quando vai gerar em PDF ou em XLS.
Daí ele roda o onFooter de novo e abre a tela de seleção de impressora.
Alguém já se deparou com isso e achou uma forma melhor de resolver?
Ou alguém sabe como eu posso descobrir, no meu onFooter, se o programa está rodando agora porque foi chamado pela opção “Imprimir” ou “Gerar PDF”, “Gerar XLS”, etc?