Impressao direta em rede com windows xp
Bom dia a todos
Estou desenvolvendo um aplicativo em Delphi que usa impressão direta para impressora.
Na maquina local com impressora local funciona tudo maravilha.
Mas se imprimir de uma maquina local para uma maquina da rede com impressora configurada em rede com winxp trava e não imprime.
Se alguem tiver uma dica...
Agradecido.
Rodrigo
Estou desenvolvendo um aplicativo em Delphi que usa impressão direta para impressora.
Na maquina local com impressora local funciona tudo maravilha.
Mas se imprimir de uma maquina local para uma maquina da rede com impressora configurada em rede com winxp trava e não imprime.
Se alguem tiver uma dica...
Agradecido.
Rodrigo
Dominioararangua
Curtidas 0
Respostas
Vitor Alcantara
20/07/2007
Da uma olhada em:
[url]http://forum.clubedelphi.net/viewtopic.php?t=88862&sid=277d945e3b5d7c0fc74289b5e2542694[/url]
[url]http://forum.clubedelphi.net/viewtopic.php?t=88862&sid=277d945e3b5d7c0fc74289b5e2542694[/url]
GOSTEI 0
Dominioararangua
20/07/2007
Parece bem boa a unit... obrigado pela resposta...
tentei substituir mas encontrei algumas dificuldades,
antes eu usava com essas constantes
Const
cJustif = #279751;
cEject = 12;
ln = 1310;
{ Tamanho da fonte }
c10cpi = 18;
c12cpi = 2777;
c17cpi = 15;
cIExpandido = 14;
cFExpandido = 20;
{ Formatação da fonte }
cINegrito = 2771;
cFNegrito = 2772;
cIItalico = 2752;
cFItalico = 2753;
CICondensado = 2715;
cfCondensado = 18;
C8Linhas = 27+48;
C6Linhas = 27+50;
e independente da conf. da impressora assumia essas configurações...
no caso dessa nova unit por ex. como faço pra ficar condensado, ou usar padrão 8 linhas
Se puder me ajudar
Atenciosamente,
Rodrigo
tentei substituir mas encontrei algumas dificuldades,
antes eu usava com essas constantes
Const
cJustif = #279751;
cEject = 12;
ln = 1310;
{ Tamanho da fonte }
c10cpi = 18;
c12cpi = 2777;
c17cpi = 15;
cIExpandido = 14;
cFExpandido = 20;
{ Formatação da fonte }
cINegrito = 2771;
cFNegrito = 2772;
cIItalico = 2752;
cFItalico = 2753;
CICondensado = 2715;
cfCondensado = 18;
C8Linhas = 27+48;
C6Linhas = 27+50;
e independente da conf. da impressora assumia essas configurações...
no caso dessa nova unit por ex. como faço pra ficar condensado, ou usar padrão 8 linhas
Se puder me ajudar
Atenciosamente,
Rodrigo
GOSTEI 0
Vitor Alcantara
20/07/2007
Rodrigo eu não tenho certeza e não tenho como testar agora pois não tenho uma impressora aqui .
Mais acredito que fica do mesmo geito que você fazia com o comando WriteLn só que em vez disso você irá utilizar SendDATA + #1013 para poder pular a linha e retornar o carro da impressora.
Ex:
Mais como eu disse eu não testei ainda esse método, outra forma seria utilizar a outra classe que se encontra na Unit a ´TAdvancedPrinter´ que ainda não a utilizei também mais acredito que a utilização da mesma seja semelhante a classe ´TCharPrinter´.
Assim que possivel (conseguir um impressora para testes) eu irei testar.
Caso tu consiga algum progresso coloca aqui no tópico.
Atenciosamente
Vitor Araújo Alcântara.
Mais acredito que fica do mesmo geito que você fazia com o comando WriteLn só que em vez disso você irá utilizar SendDATA + #1013 para poder pular a linha e retornar o carro da impressora.
Ex:
prn : TCharPrinter; Begin if PrintDialog1.Execute then begin Prn := TCharPrinter.Create; Prn.OpenDoc(´Titulo do documento´); //Caracteres tamanho 12cpi prn.SendData(2777 + ´TESTE´ + 13+10); //Ejeta folha prn.SendData(12); end; end;
Mais como eu disse eu não testei ainda esse método, outra forma seria utilizar a outra classe que se encontra na Unit a ´TAdvancedPrinter´ que ainda não a utilizei também mais acredito que a utilização da mesma seja semelhante a classe ´TCharPrinter´.
Assim que possivel (conseguir um impressora para testes) eu irei testar.
Caso tu consiga algum progresso coloca aqui no tópico.
Atenciosamente
Vitor Araújo Alcântara.
GOSTEI 0
Dominioararangua
20/07/2007
OK
muito obrigado pela atenção
Se tiver algum progresso posto aqui na lista...
T+
muito obrigado pela atenção
Se tiver algum progresso posto aqui na lista...
T+
GOSTEI 0
Vitor Alcantara
20/07/2007
Outro exemplo:
procedure TForm1.Button1Click(Sender: TObject); var prn : TAdvancedPrinter; begin if PrintDialog1.Execute then begin prn := TAdvancedPrinter.Create; prn.OpenDoc(´NOrmal´);//Imprime fonte normal prn.FontSize := pfs20cpi;//Troca fonte para tamanho 20 prn.WriteRight(´Normal´,´ ´,40);//Alinhado a direita sendo que a bobina tem 40 caracteres prn.Write(´Fonte 20cpi´); prn.CRLF;//Volta carro e pula linha prn.FontSize := pfs10cpi;//Troca fonte para tamanho 10 prn.Write(´Fonte 10cpi´); prn.CRLF; prn.FontSize := pfs5cpi;//Troca fonte para tamnho 5 prn.TextStyle := [psBold];//Coloca em negrito prn.Write(´Fonte 5cpi em negbrito´); prn.CRLF; prn.WriteRepeat(´´,40);//Escreve prn.FF;//Salta página prn.CloseDoc; end; end;
GOSTEI 0