Servlet + Applet imprimir impressora local

Dae pessoal,

Tenho que imprimir um jasper em uma impressora local do cliente, mas estão querendo que a janela de impressoras locais abra sem abrir o pdf , como minha aplicação é web não tenho como pegar nada local, pensei em usar ou Applet ou JavaScript. Estou olhando Applet.

Gostaria de saber se alguem tem algum exemplo se já fez algo parecido , de um Servlet chamar um Applet que este Applet pegas as impressoras locais .

Não estou conseguindo nem chamar o Applet pelo Servlet, se alguem tiver um exemplo só pra isso já ajuda. Nunca mexi com esta parte de servlet e applet então qualquer ajuda é válida.

Obrigado.

[]'s

Na verdade, é mais fácil você chamar o Servlet através do applet. Você carrega o Applet através de um javascript, e quando o applet é exibido ele próprio requisita o arquivo para o servlet.

Psé, é que assim é um requisito aqui não usar JS , teria como fazer sem usar?

hmmm … como é a interface da sua aplicação, HTML puro ? Talvez um link já resolva …

nao , é adobe flex 3.

por isso estou usando o servlet para tentar chamar o applet

seria assim

Flex -> Servlet -> Applet

talvez a saída seja fazer dois requests: uma a partir do flex, para obter a html com o applet e outra a partir do applet para obter o documento. Não sei se dá pra mandar tudo de uma vez, partindo do flex …

vc ja fez , tipo de buscar as impressoras locais de um cliente em uma aplicaçao totalmente web?

nao me refiro a tecnologias, com qualquer tecnologia? sabe se da pra fazer de algum jeito?

Isso só pode ser feito por código que roda no próprio cliente … até hoje só consegui fazer com Java Applet.

não tem um exemplo?

eu deixo os créditos se vc quiser :smiley:

derrepente me ajude já

Você pode dar uma olhada na classe JasperPrintManager. Ela tem métodos static que você envia um JasperPrint diretamente para a impressora. E você tem ainda a opção de exibir o diálogo de seleção de impressoras do sistema. Agora, se você precisar de algo mais elaborado vale a pena você explorar o pacote javax.print. Tem cerca de 25 tipos entre classes e interfaces, mas é fácil de usar. Exemplo pronto eu não tenho nenhum no momento …

bah bleza kra… vou olhar sim achei tbem no Adobe Flex , um tal de PrinterJob…acho q vo conseguir resolver com isso… vamos ver… se nao conseguir vou olhar essas classes q vc me falou…qualquer coisa volto a postar aqui bleza?

mas obrigado

[]'s

Hmmm … mas pelo que eu vi na referência, é bem limitado esse recurso do flex, pelo jeito não dá pra pegar um stream de bytes e enviar …

eu trabalho com a versao 3 … mas a 4 deve ter algo melhor pq eles estao melhorando bastante…

amanha vou dar uma olhada no flex 4 pra ver…mas no 3 o nome é PrinterJob e PrinterJobOptions

será q não? pse ia ver isso amanha …puts… eu vi q ele recebe um Sprite uma coisa assim

tava pensando bem nisso em passar um byte[]