Impressao direta em rede com windows xp

Delphi

20/07/2007

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


Dominioararangua

Dominioararangua

Curtidas 0

Respostas

Vitor Alcantara

Vitor Alcantara

20/07/2007

Da uma olhada em:
[url]http://forum.clubedelphi.net/viewtopic.php?t=88862&sid=277d945e3b5d7c0fc74289b5e2542694[/url]


GOSTEI 0
Dominioararangua

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


GOSTEI 0
Vitor Alcantara

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

Dominioararangua

20/07/2007

OK

muito obrigado pela atenção


Se tiver algum progresso posto aqui na lista...

T+


GOSTEI 0
Vitor Alcantara

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
POSTAR