Fórum Impressao direta em rede com windows xp #343482
20/07/2007
0
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
Curtir tópico
+ 0Posts
20/07/2007
Vitor Alcantara
[url]http://forum.clubedelphi.net/viewtopic.php?t=88862&sid=277d945e3b5d7c0fc74289b5e2542694[/url]
Gostei + 0
20/07/2007
Dominioararangua
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
20/07/2007
Vitor Alcantara
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
21/07/2007
Dominioararangua
muito obrigado pela atenção
Se tiver algum progresso posto aqui na lista...
T+
Gostei + 0
29/07/2007
Vitor Alcantara
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
Clique aqui para fazer login e interagir na Comunidade :)