Pare o driver de impressão ao abrir janelas


0

Um programa que eu escrevi está sendo usado para enviar etiquetas de remessa para uma impressora de etiquetas - ou, mais precisamente, para cinco impressoras, cada uma em um driver separado que eu configurei. A taxa de transferência é de um a cada três segundos para cada impressora, então há muitas janelas aparecendo que dizem "Impressão - Página 1 do documento" - às vezes para as cinco impressoras de uma vez - e estamos planejando estender o programa para 10 impressoras . Existe alguma maneira de obter os drivers configurados para não mostrar esta janela? O programa e os drivers estão em um computador executando o Windows Server 2012 R2. O driver é para impressoras InterMec px4i e estou usando o System.Drawing.Printing em C # .NET 4.0.

http://i.stack.imgur.com/robgy.jpg


1
Você pode tentar vários aplicativos em seu sistema com um driver de impressão diferente para ver se é a API que está usando para enviar a impressão (que idioma? Qual API? Você não especificou, por isso é impossível ajudá-lo) ou se é o próprio driver. Se for o próprio driver, o método para fazer com que o driver não exiba o pop-up seria inteiramente específico do driver; Você pode ter que tomar medidas drásticas para suprimi-los, como ligar uma DLL ou algo assim. Outros drivers podem ser configuráveis e ter uma configuração para desativar o pop-up.
allquixotic

Para esclarecer, o driver é para impressoras InterMec px4i e estou usando o System.Drawing.Printing em C # .NET 4.0.
Nerdrage87

Por que você removeu a imagem do post depois que eu a coloquei para você?
Kazark

Ele me deu a notificação, quando eu editei, que eu precisava de pelo menos 10 pontos de reputação para postar imagens.
Nerdrage87

Respostas:


0

Como se constata, é o próprio controlador de impressão padrão que faz com que a janela apareça. System.Drawing.Printing dá todos os novos PrintDocuments o controlador de impressão padrão. Ao configurar a página para imprimir, meu programa segue as seguintes instruções:

    PrintDocument pd = new PrintDocument();
    pd.PrinterSettings.PrinterName = PrinterName;
    ...

O que eu fiz para resolver o problema foi dar a ele um novo controlador de impressão usando o construtor padrão:

    pd.PrintController = new StandardPrintController();

Agora não há janelas "Imprimindo ..." aparecendo, e isso também aumentou visivelmente o desempenho do meu programa. Espero que isso ajude alguém que tenha esse problema, mas provavelmente ele deve ser movido para o StackOverflow, pois é um problema de programação, não um problema do Windows.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.