none
Imprimir arquivo direto na impressora RRS feed

  • Pergunta

  • Pessoal, boa tarde..

    precisava ler um array de bytes e joga-lo para impressora.. estou utilizando o exemplo abaixo e ele funciona, porém, eu gostaria que a janela do Acrobat que se abre, não fosse aberta ou que pelo o menos fechasse ao final do processo..

                    FileInfo file = new FileInfo(@"C:\Users\te\Downloads\PLU (3).PDF");
    
                        byte[] t = File.ReadAllBytes(@"C:\Users\te\Downloads\PLU (3).PDF");
                        string filename = System.IO.Path.GetTempFileName() + ".pdf";
                        File.WriteAllBytes(filename, t);
    
                        //Process process = new Process();
                        Process objP = new Process();
    
                        objP.StartInfo.FileName = filename;
    
                        //objP.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; //Hide the window.
                        objP.StartInfo.Verb = "print";
                        objP.StartInfo.CreateNoWindow = true;
                        objP.Start();
    
                        objP.CloseMainWindow();
                        objP.Close();
                        
                        File.Delete(filename);

    sexta-feira, 1 de julho de 2016 18:59

Respostas

  • Boa tarde kngipa,

    Obrigado por sua participação no Fórum MSDN.

    Você pode tentar aplicar o seguinte exemplo:

    objP.StartInfo.Verb = "print";
    objP.Aguments = String.Fromat("/p /h {0}", pdfFileName);
    objP..CreateNoWindow = true;
    objP.WindowsStyle = ProcessWindowStyle.Hidden;
    objP.UseShellExecute = false;
    
    Process p = process.Start(info);
    p.StartInfo.WindowsStyle = ProcessWindowStyle.Hidden;
    
    int conter = 0;
    while (!p.HasExited)
    {
         System.Threading.Thread.Sleep(1000);
         counter += 1;
         if (conter == 5) break;
    }
    if (!p.HasExited)
    {
         p.CloseMainWindow();
         p.Kill();
    }
    

    Informe se conseguiu.

    Atenciosamente.


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Thales F Quintas segunda-feira, 4 de julho de 2016 14:44
    sexta-feira, 1 de julho de 2016 20:47
    Moderador

Todas as Respostas

  • Boa tarde kngipa,

    Obrigado por sua participação no Fórum MSDN.

    Você pode tentar aplicar o seguinte exemplo:

    objP.StartInfo.Verb = "print";
    objP.Aguments = String.Fromat("/p /h {0}", pdfFileName);
    objP..CreateNoWindow = true;
    objP.WindowsStyle = ProcessWindowStyle.Hidden;
    objP.UseShellExecute = false;
    
    Process p = process.Start(info);
    p.StartInfo.WindowsStyle = ProcessWindowStyle.Hidden;
    
    int conter = 0;
    while (!p.HasExited)
    {
         System.Threading.Thread.Sleep(1000);
         counter += 1;
         if (conter == 5) break;
    }
    if (!p.HasExited)
    {
         p.CloseMainWindow();
         p.Kill();
    }
    

    Informe se conseguiu.

    Atenciosamente.


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Thales F Quintas segunda-feira, 4 de julho de 2016 14:44
    sexta-feira, 1 de julho de 2016 20:47
    Moderador
  • Bom dia,

    Por falta de retorno, esta thread será encerrada.

    Caso seja necessário, por gentileza, abra uma nova thread.

    Atenciosamente


    Thales F Quintas

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 4 de julho de 2016 14:44
  • deu certo!!obrigada!
    terça-feira, 5 de julho de 2016 17:15