Ir para conteúdo
Fórum Script Brasil
  • 0

Imprimir Direto


jvilar

Pergunta

Gostaria de saber como faço para enviar direto para a impressora sem aparecer a tela do windows (perguntando a impressora, numero de copias, etc).

Preciso que seja impresso sem a intervenção do usuário. A aplicação cliente abre uma página em ASP (ou PHP) e nesse executo o .print e fecho o browser.

Graças a uma falha no I.E 6 eu estou conseguindo mandar direto para a impressora através de uma função JavaScript, mas ao atualizar o SP2 do windows ele também atualiza o I.Explorer e daí não imprimo mais diretamente. Na versão do FireFox que tenho também não manda direto.

Alguém sabe como resolver isso? Tem alguma função JS para resolver isso?

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Agradeço Andrea, mas dessa forma aparece a "tal" caixa de dialogo solicitando numero de copias, configuração etc e só imprime se clicarmos no OK. :(

E o que preciso é NÃO mostrar essa tela, ir direto para a impressora

Acho que não vai ter jeito, mas vai la, não custa nada tenta:

<body onload="self.print()">

Link para o comentário
Compartilhar em outros sites

  • 0
Graças a uma falha no I.E 6 eu estou conseguindo mandar direto para a impressora através de uma função JavaScript, mas ao atualizar o SP2 do windows ele também atualiza o I.Explorer e daí não imprimo mais diretamente.

que função é essa, irmão?

Link para o comentário
Compartilhar em outros sites

  • 0

<script language="JavaScript" type="text/javascript">

<!--

var VBS = false;

-->

</script>

<script language="VBScript">

sub window_onunload

on error resume next

set WB = nothing

end sub

function printIt

on error resume next

call WB.ExecWB(6,11)

if err.number <> 0 then

if DA then

alert "Nada foi impresso: " & err.number & " : " & err.description

else

handle_error

end if

end if

end function

document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""clsid:8856F961-340A-11D0-A96B-00C04FD705A2"" VIEWASTEXT></OBJECT>"

VBS = true

call printIt

</script>

- Coloca isso antes do BODY

- Só funciona no IE 6 com SP1 :(

Graças a uma falha no I.E 6 eu estou conseguindo mandar direto para a impressora através de uma função JavaScript, mas ao atualizar o SP2 do windows ele também atualiza o I.Explorer e daí não imprimo mais diretamente.

que função é essa, irmão?

Link para o comentário
Compartilhar em outros sites

  • 0

Bem...utilizando só o JS seria assim:

<script language="javascript">

function sendPageToPrinter()

{ var NS = (navigator.appName == "Netscape");

if (NS)

window.print() ;

else {

var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 ' + 'CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';

document.body.insertAdjacentHTML('beforeEnd', WebBrowser);

WebBrowser1.ExecWB(6,11);

}

}

</script>

Daí é só montar uma forma de chamar a função, mas só se for IE6 SP1 :(

Eu não disse nada sobre navegador, e sim do SERVIDOR.

Se ela não tem suporte a paginas ASP, esse codigo não resolve.. mas vale a dica

Link para o comentário
Compartilhar em outros sites

  • 0

e aí,

rapax, isso não é javascript não.

você ate tem javascript no seu codigo,

mas esta imprimindo com activeX.

toda vez que você utilizar <object id..., você esta usando activeX.

que se não me engano, esta sendo bloqueado pelos navegadores mais recentes,

por questoes de seguranca.

é isso, não tem muito o que fazer não.

Link para o comentário
Compartilhar em outros sites

  • 0

Isso, apenas qria dizer que não utiliza ASP. Realmente utiliza Active, mas mesmo colocando ser confiável o site ele chama o configurador da impressora, coisa que antes (IE 6 SP1) iria direto para impressora, pelo menos na Intranet que é onde eu preciso

e aí,

rapax, isso não é javascript não.

você ate tem javascript no seu codigo,

mas esta imprimindo com activeX.

toda vez que você utilizar <object id..., você esta usando activeX.

que se não me engano, esta sendo bloqueado pelos navegadores mais recentes,

por questoes de seguranca.

é isso, não tem muito o que fazer não.

Caro CSML,

Claro que isso seria péssimo para a INTERNET, mas no meu caso desenvoli para Intranet (ASP) e nem conexão coma INTERNET tem. Como falei anteriormente funcionava prfeitamente no IE 6 com o SP1, resolvi atualizar o XP devido uma falha que tinha no SO, mas aí piorou minha vida para a impressão. Gostaria que isso fosse uma opção no Windows, daí poderia configurar o que quisesse sem criar problemas para outros em caso de Internet

2 soluções:

- fazer a aplicação em outra linguagem para imprimir

- voltar ao XP antes do SP2

Como não quero nenhuma das 2 :) vou aguardar ver se consigo uma solução aqui ou em outro forum

Desde já agradeço a atenção

Isso, apenas qria dizer que não utiliza ASP. Realmente utiliza Active, mas mesmo colocando ser confiável o site ele chama o configurador da impressora, coisa que antes (IE 6 SP1) iria direto para impressora, pelo menos na Intranet que é onde eu preciso

e aí,

rapax, isso não é javascript não.

você ate tem javascript no seu codigo,

mas esta imprimindo com activeX.

toda vez que você utilizar <object id..., você esta usando activeX.

que se não me engano, esta sendo bloqueado pelos navegadores mais recentes,

por questoes de seguranca.

é isso, não tem muito o que fazer não.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...