locked
Impressão com Silverlight 5 RRS feed

  • Pergunta

  • Boa Tarde.

    Estou desenvolvendo uma aplicação onde estou em um ponto que preciso fazer uma impressão, estou usando o Silverlight 5.

    Hoje estou usando a classe PrintDocument, onde ali consigo fazer a impressão, porém quando eu clico para fazer a impressão a "janela" para selecionar uma impressora é aberta, eu gostaria que essa "janela" não fosse aberta e que eu de alguma forma passasse o nome da minha impressora, ou pegasse uma rotina que essa rotina detectasse a minha impressora padrão para que possa ser feita a impressão sem abrir a "janela" de seleção.

    Consigo fazer isso usando essa classe PrintDocument, ou eu teria que usar alguma outra classe ?

    Desde já agradeço a atenção e a ajuda de todos.

    Att.

    terça-feira, 16 de dezembro de 2014 16:32

Respostas

  • Por questões de segurança uma aplicação normal feita em Silverlight 5 não tem acesso direto às impressoras e só é capaz de imprimir com intervenção do usuário, para que este selecione a impressora.

    Se sua aplicação é de uso interno você pode executar em modo confiável e utilizar interop para acessar qualquer api do Windows e fazer o que quiser, inclusive imprimir. Mas para usar interop será necessário que seu aplicativo seja assinado com um certificado digital para poder usar interop. Além disso, as apis de interop do Windows não são triviais de usar e pode ser que seja bem trabalho de interagir com a impressora. Dê uma pesquisada sobre o assunto para ver se vale a pena antes de implementar.


    Atenciosamente,

    Kelps Leite de Sousa
    blog: http://kelps.net
    twitter : http://twitter.com/kelps

    Não se esqueça de "marcar como resposta" o ítem que lhe ajudou.


    quarta-feira, 7 de janeiro de 2015 12:50

Todas as Respostas

  • Por questões de segurança uma aplicação normal feita em Silverlight 5 não tem acesso direto às impressoras e só é capaz de imprimir com intervenção do usuário, para que este selecione a impressora.

    Se sua aplicação é de uso interno você pode executar em modo confiável e utilizar interop para acessar qualquer api do Windows e fazer o que quiser, inclusive imprimir. Mas para usar interop será necessário que seu aplicativo seja assinado com um certificado digital para poder usar interop. Além disso, as apis de interop do Windows não são triviais de usar e pode ser que seja bem trabalho de interagir com a impressora. Dê uma pesquisada sobre o assunto para ver se vale a pena antes de implementar.


    Atenciosamente,

    Kelps Leite de Sousa
    blog: http://kelps.net
    twitter : http://twitter.com/kelps

    Não se esqueça de "marcar como resposta" o ítem que lhe ajudou.


    quarta-feira, 7 de janeiro de 2015 12:50
  • Certo Kelps, entendi que por ser silverlight eu acabo tendo essa restrição, ve no que você consegue me ajudar.

    Essa minha aplicação possui uma tela de cadastro, onde eu faço vários cadastros por minuto, e a cada cadastro feito, eu preciso imprimir um ficha, e se toda hora tiver que abrir essa janela da seleção da impressora não seria tanto eficaz, será que você alguma outra forma, ou alguma outra classe que eu possa usar para que de o resultado que espero !?

    Lembrando que utilizo silverlight 5.

    Obrigado pela Ajuda.

    Att.

    quinta-feira, 8 de janeiro de 2015 19:41