Como imprimir na Matricial em rede utilizando RSPrint
Boa tarde a todos....
Estou tentando imprimir um relatório para NF utilizando o componente RSPrint, mas a minha impressora esta em rede.
Como devo fazer para identificar a impressora na rede?
Obrigado.
Uelinton
Estou tentando imprimir um relatório para NF utilizando o componente RSPrint, mas a minha impressora esta em rede.
Como devo fazer para identificar a impressora na rede?
Obrigado.
Uelinton
Uelinton_reis
Curtidas 0
Respostas
Digaopachesen
18/09/2008
Uma dica que utilizava diretamente no windows, nao sei se é o seu caso...
no pront do Dos, digita: net use lpt1 caminhodaimpressora /YES;
assim o windows entendera que vc vai enviar um impressao na lpt1 e ele vai direcionar esta impressao para o caminho informado na rede.
para verificar se esta ok digite: NET USE . ai ele vai mostrar os caminhos mapeados. para desativar esta impressora e voltar a utilizar localmente digite: NET USE LPT1 /DELETE; Assim ele vai eliminar este mapeamento.
para entrar no pront do Dos no winXP, va em iniciar executar, digite CMD, e Ok, espero ter ajudado
no pront do Dos, digita: net use lpt1 caminhodaimpressora /YES;
assim o windows entendera que vc vai enviar um impressao na lpt1 e ele vai direcionar esta impressao para o caminho informado na rede.
para verificar se esta ok digite: NET USE . ai ele vai mostrar os caminhos mapeados. para desativar esta impressora e voltar a utilizar localmente digite: NET USE LPT1 /DELETE; Assim ele vai eliminar este mapeamento.
para entrar no pront do Dos no winXP, va em iniciar executar, digite CMD, e Ok, espero ter ajudado
GOSTEI 0
Uelinton_reis
18/09/2008
Muito boa a dica....
Mas utilizando o delphi tem alguma maneira?
Mas utilizando o delphi tem alguma maneira?
GOSTEI 0
Samuel Rocha
18/09/2008
Tive o mesmo problema, basta substituir a procedure 'procedure EnumPrt(st: TStrings;var Def: integer);' por
procedure EnumPrt(st: TStrings;var Def: integer);
type
PPrInfoArr = ^TPrInfoArr;
TPrInfoArr = array [0..0] of TPRINTERINFO2;
var
i,Indx,Level: integer;
buf: pointer;
Need,Returned,Flags: dword;
PrInfoArr: PPrInfoArr;
begin
st.Clear;
Def:=0; Level:=2;
Flags := PRINTER_ENUM_CONNECTIONS or PRINTER_ENUM_LOCAL;;
EnumPrinters(Flags,nil,Level,nil,0,Need,Returned);
GetMem(buf,Need);
try
EnumPrinters(Flags,nil,Level,PByte(buf),Need,Need,Returned);
PrInfoArr:=buf;
{$RANGECHECKS OFF}
for i:=0 to Returned-1 do begin
Indx:=st.Add(PrInfoArr[i].pPrinterName);
if (PrInfoArr[i].Attributes AND PRINTER_ATTRIBUTE_DEFAULT)>0 then Def:=Indx;
end;
{$RANGECHECKS ON}
finally
FreeMem(buf);
end;
end;GOSTEI 0