Impressão direta pela porta USB
Já procurei no fórum, mas não encontrei uma resposta(não sei se procurei certo). Alguém sabe como faz impressão direta pela porta USB, localmente.
obrigado desde já :D
obrigado desde já :D
Tiagos
Curtidas 0
Respostas
Vinicius2k
11/11/2004
Colega,
Vc quer dizer este mesmo tipo de escrita comumente usado para portas convencionais, como abaixo ?
Se for, infelizmente, isto não é possível em impressoras USB ou da rede...
Vc pode usar o objeto TPrinter para realizar estas operações...
Este é um exemplo de como utilizar (extraído de DTDelphi 2.6)
Espero ter ajudado...
T+
Vc quer dizer este mesmo tipo de escrita comumente usado para portas convencionais, como abaixo ?
.. var F : TextFile; i : integer; begin AssignFile(F,´LPT1´); Rewrite(F); Writeln(F,´Teste de impressao - Linha 0´); CloseFile(F); end;
Se for, infelizmente, isto não é possível em impressoras USB ou da rede...
Vc pode usar o objeto TPrinter para realizar estas operações...
Este é um exemplo de como utilizar (extraído de DTDelphi 2.6)
procedure TForm1.BitBtn1Click(Sender: TObject); var Linha:integer; Tamanho:integer; Coluna:integer; begin Printer.Orientation := poLandscape; Printer.BeginDoc; Printer.Canvas.Pen.Width := 5; Printer.Canvas.Font.Name := ´Times New Roman´; Printer.Canvas.Font.Size := 10; Linha := 20; Coluna:= 20; Tamanho := Printer.Canvas.TextWidth(´a´); Table1.First; while not Table1.Eof do begin if Linha = 20 then begin Coluna := 20; Printer.Canvas.TextOut(0,Linha,´Relação de Clientes´); Linha := Linha - Printer.Canvas.Font.Height + 5 ; Printer.Canvas.TextOut(Coluna,Linha,´Cod´); Coluna:= Coluna + (Tamanho * 5 ); Printer.Canvas.TextOut(Coluna,Linha,´Nome´); Coluna:= Coluna + (Tamanho * 30); Printer.Canvas.TextOut(Coluna,Linha,´Endereço´); Coluna:= Coluna + (Tamanho * 30); Linha := Linha - Printer.Canvas.Font.Height + 5 ; end; Coluna := 20 ; Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´Codigo´).AsString); Coluna:= Coluna + (Tamanho * 5 ); Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´Nome´).AsString); Coluna:= Coluna + (Tamanho * 30); Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(´End´).AsString); Coluna:= Coluna + (Tamanho * 30); Linha := Linha - Printer.Canvas.Font.Height + 5 ; Table1.Next; if Linha > Printer.PageHeight-20 then Begin Printer.NewPage; Linha := 20; end; end; Printer.EndDoc; end;
Espero ter ajudado...
T+
GOSTEI 0