Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Reginaldo

Impressão direta..

Recommended Posts

Boa noite pessoal..

 

estou com um problema e gostaria de contar com vocês..

 

seguinte.. estou fazendo um sistema de gestão para uma empresa.. tudo em asp..

 

estou usando tambem tecnicas em ajax pro sistema ficar mais interativo e facil de operar..

 

o sistema inteiro eu tiro de letra... a não ser por um detalhe crucial...

 

ja que via rodar via browser.. surge o problema da impressão.

 

existe dentro do sistema um modulo de emissão de pedido onde o operador pode facilmente

 

compor um pedido pra um cliente.. mas no momento em que ele clica ou da enter no botão "confirmar"

 

o sistema grava tudo certinho.. faz as respectivas transações.. e por ultimo mas não menos importante... rs

 

a impressão que precisa ser em formulario continuo... e é ai que esta o meu problema..

 

cabeçario e rodapé da pagina eu ja tirei pelo configurar pagina do IE e deixei paadrão..

 

mas quando chamo a ordem de impressão no codigo recebo a caixa de dialogo "Imprimir" ..

 

la onde a gente escolhe a impressora e tals.. mas oque preciso é que ela não apareça..

 

a impressora precisa simplismente começar a imprimir...

 

pesquisei bastante aki no forum e achei muita coisa a respeito..

 

o pessoal ja garantiu que não tem jeito só com asp e javascript...

 

dizem que tem que fazer em visual basic uma OCX ou ActiveX "creio que os dois sejam a mesma coisa"

 

essa aplicação vai ser chamada de alguma forma pelo codigo asp... o qual tambem precisa enviar um parametro pra ela...

 

tipo um codigo do pedido.. e essa aplicação vai selecionar os registros.. organizar na quantidade de paginas necessarias e iniciar a impressão..

 

tudo isso em segundo plano claro.. fazer essa aplicação não é problema pra mim...

 

o meu problema é o seguinte.. todos dizem no forum que é isso que tenho que fazer mas não dizem como se faz isso...

 

então la vai as perguntas..

 

como chamo essa ocx ou activex no asp ?

 

como passo a variavel pra ocx contendo o codigo do pedido ?

 

como recebo a variavel dentro da aplicação em vb ?

 

inclusive se alguem tiver algum material relevante que puder disponibilizar para estudar... agradeço muito..

 

e muitos outros profissionais tambem agradecem.. pois todos os topicos que encontrei não tinham uma solução clara.. só teorias..

 

ah um detalhe que eu quero resaltar aqui é o seguinte:

 

como notei que esta é uma questão muito abordada aqui, mas com pouco material relevante, farei o seguinte:

 

assim que resolver esta questão vou criar um exemplo claro e pratico com todos os arquivos e instruções passo a passo e disponibilizar aqui para download e estudo de nossos amigos desenvolvedores

 

 

fiquem com Deus..

 

bom domingo..

 

até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado acho que você não entendeu direito..

 

eu ja tinha encontrado este topico... mas em nada meajudou pois la eles oferecem as ocx da bematech... oque eu preciso é criar uma ocx para epson lx-300

 

quero aprender a trabalhar com as tais ocx... como lidar com elas no asp.. como passar e receber valores.. essas coisas pra poder rodar o negocio

 

=)

 

mas obrigado assim mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Reginaldo,

 

Eu entendi sim a sua duvida, o que acontece é que naquele tópico eles informam que aqueles fabricantes passam as OCX e os arquivos com exemplos para uso, alguns em VB outros com exemplos até em ASP, por isso que disse que poderia te ajudar. Já tentou entrar em contato com a Própria Epson?

Compartilhar este post


Link para o post
Compartilhar em outros sites

então Salgado.. desculpa é q as veses leio rapido d+ e nem vejo o conteudo direito... rs

 

ja entrei em contato com a epson mas por telefone os caras pareciam uns vendedor de pulserinha na praia.. nem sabiam do q eu estava falando... um jogava pro outro e depois de quase meia hora de interurbano eu perdi a paciencia..

 

pelo site da epson eu abri um chamado pro suporte mas ainda não tive retorno..

 

agora vou estudar estes arquivos da bematech... devem ter alguma coisa interesante.. heheh.. mas talvez seja diferente com a epson.. talvez tenha alguma chave de chamada... não sei..

 

bom.. se quiser e puder continuar com a força ainda eu agradeço..

 

eu quero muito postar a solução aqui... não quero que este topico caia no mesmo esquecimento que os anteriores do mesmo assunto... este aqui se Deus quiser logo vai ter a solução pra quem clicar em pesquisar =)

 

 

um abraço amigo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal só pra registrar aki...

 

estou decepcionado com a Epson...

 

eles desativaram todos os 0800 de atendimento que eu pude encontrar... só atendem agora por fixo normal "interurbano"

 

e o pessoal do atendimento não sabe nem onde é o cedilha do teclado..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro(a) REGINALDO SANTORO

Este é o e-mail de resposta ao seu chamado respondido pela Epson do Brasil.

 

 

06/11/2007 - Solução:

Informamos que o software é o próprio driver da impressora. Não há outro

tipo de arquivo para fazer com que possa comunicar com outros sistemas.

 

http://forum.imasters.com.br/public/style_emoticons/default/dormindo.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem empresas que simplesmente complicam algo que seria até bom para elas.

 

Vou baixar os exemplos de outras impressoras e ver se é possível algo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa... obrigado pela força Salgado.

 

ja analizei bastante destes arquivos da bmatech e tem exemplos de vbscript .. só q as funções que eles criaram são de comunicação com a tal OCX e esta por sua vez com a impressora...

 

a questão em si volta ao ponto de partida.. preciso das ocx da epson.. rsrsrs e a epson não as tem..

 

pelo jeito vou ter que criar uma... mas é dificil porque quem ja conseguiu se nega a ajudar com algum exemplo..

 

ja pesquisei muito e não encontro nada.. =/

 

ta complicado :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado eu consegui num forum da locaweb um script que promete isso... mas ta dando permissão negada quando mando imprimir... será que você ou alguem ai poderia me ajudar a configurar o ie pra dar esta permissão ?

 

olha o codigo ai.. é só colar e salvar um html.. hehe

 

 

Teste com tag CODE
<html> 
<head> 

<script language="vb script:Print ();">Imprimir</a> 

</body> 
</html>

ASP
Teste com tag ASP

 

eita... num ta aceitando o codigo aki... =/

 

vo cola normal.. vamo ve se da certo

 

xiiii num ta rolando..., senhores administradores oq esta acontecendo ? porque não consigo mais postar meu codigo ?

 

 

um abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

você usa AJAX nesse form para cadastro de pedidos ?

Se você usa AJAX, provavelmente você nao da reload na pagina, bem... se desse reload você montaria a pagina com o relatorio na tela e no final chamaria essa função que imprime sem a caixa de dialogo:

 

<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>

Mas pelo jeito você nao da reload, entao a minha ideia é que apos você montar o relatorio na tela para impressao, veja se um parametro vindo do programa que grava está setado para true, caso esteja, chame a função.

 

Espero que tenha ajudado.

 

OBS: O codigo assim verifica se o browser é IE, se nao for, abre a caixa de dialogo (primeiro if)

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Anderson obrigado pela atenção...

 

olha la eu coloquei no code.. ja tinha feito isso antes mas deu na mesma.. colei certinho... pude ler os dados..

mas quando dei editar só gravou isto que você esta vendo ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

OPa.. obrigado pelas dicas amigo DataSet.. mas não funcionou não... rs abriu a caixinha pra eu escolher a impressora... e o meu navegador é o IE ... tirei o if pra faze um teste e abriu tambem...

 

na dinamica do sistema to fazendo a seleção de produto e cliente com ajax... e a cada inserção eu faço um reload num iframe onde vou listando os itens do pedido... ta ficando legal.. só falta resolver esse lance da impressao..

 

uma duvida minha... testei este seu script e outros da web tambem usando uma impressora jato de tinta que usa conexão USB ... mas ta definida como padrão... não sei se isso tem aver com algo..

 

mas por exemplo um sistema em cliper normalmente joga ordens de impressão direto na porta LPT1..

 

sera que com estes scripts tambem tem que ser na LPT1 ?

 

um abraço =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Reginaldo tambem estou com o msm problema

encontrei uma solução porem ela so funciona no Internet Explorer e com os comandos de ActiveX habilitados, o que se torna um risco para a navegação em outros sites e tambem impossibilita o usuario que estiver com os mesmos desabilitados de imprimir.

 

o código é o seguinte

<script language='VBScript'>
Sub Print()
       OLECMDID_PRINT = 6
       OLECMDEXECOPT_DONTPROMPTUSER = 2
       OLECMDEXECOPT_PROMPTUSER = 1
       call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
End Sub
document.write "<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>

</head> 
<body> 

<object id="IEWB" width="0" height="0" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT></object> 

Esta é uma prova de uma página que vai se imprimir, clicando o link de abaixo, sem pedir confirmação ao usuário. 

<a href="javascript:Print ();">Imprimir</a>

espero que tenha ajudado....

e caso consiga fazer funcionar em outros navegadores e sem a necessidade da ativação dos ActiveX

 

 

t+ abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.