Impressão de Boleto pré-impresso, como?
como eu faço a impressão de um boleto corretamente? o boleto q eu quero imprimir é do unibanco, em uma impressora lx 300? + não tô conseguindo, tem uns 15 dias já que eu tô atrás disto e até agora nada, as dimensões do boleto são : Altura = 10,2 cm Comprimento = 21 cm, com as bordas da impressora matricial , tem como definir o papel em run time? olha o código q eu tô usando
AssignFile(Impressora, Port);
Rewrite(Impressora);
Write(impressora, Format(´¬-50s´, [´ PAGAVEL EM QUALQUER BANCO ATE O VENCIMENTO´]));
//Imprime Data Vencto e pula para próxima linha
Writeln(impressora, Format(´¬-80s´, [´ ´ + data_v]));
//pula três linhas
//Imprime valor do Documento e pula p/ Próxima linha
//Pula duas linhas
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
//Imprime informações de Responsabilidade do Cedente
Writeln(impressora, Format(´¬-50s´, [´ Central: ´ + central]));
Writeln(impressora, Format(´¬-50s´, [´ Alvara: ´ + alvara + ´ Marca: ´ + marca]));
Writeln(impressora, Format(´¬-50s´, [´ Ano da Moto: ´ + ano + ´ Modelo: ´ + modelo]));
Writeln(impressora, Format(´¬-50s´, [´ Placa: ´ + placa + ´ Chassi: ´ + chassi]));
Writeln(impressora, Format(´¬-50s´, [´ Cidade: ´ + cidade + ´ UF: ´ + uf + ´ ´+valor]));
Writeln(impressora);
Writeln(impressora, Format(´¬-50s´, [´ ´ + nome]));
Writeln(impressora, Format(´¬-50s´, [´ CPF: ´ + cpf]));
// Writeln(impressora, Format(´¬-50s´,[´ CEP´+DmDados.TbContasRecCEP.Value+´´+Dmdados.TbContasRecCidade.Value+´´+ Dmdados.TbContasRecEstado.Value]));
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
CloseFile(impressora);
AssignFile(Impressora, Port);
Rewrite(Impressora);
Write(impressora, Format(´¬-50s´, [´ PAGAVEL EM QUALQUER BANCO ATE O VENCIMENTO´]));
//Imprime Data Vencto e pula para próxima linha
Writeln(impressora, Format(´¬-80s´, [´ ´ + data_v]));
//pula três linhas
//Imprime valor do Documento e pula p/ Próxima linha
//Pula duas linhas
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
//Imprime informações de Responsabilidade do Cedente
Writeln(impressora, Format(´¬-50s´, [´ Central: ´ + central]));
Writeln(impressora, Format(´¬-50s´, [´ Alvara: ´ + alvara + ´ Marca: ´ + marca]));
Writeln(impressora, Format(´¬-50s´, [´ Ano da Moto: ´ + ano + ´ Modelo: ´ + modelo]));
Writeln(impressora, Format(´¬-50s´, [´ Placa: ´ + placa + ´ Chassi: ´ + chassi]));
Writeln(impressora, Format(´¬-50s´, [´ Cidade: ´ + cidade + ´ UF: ´ + uf + ´ ´+valor]));
Writeln(impressora);
Writeln(impressora, Format(´¬-50s´, [´ ´ + nome]));
Writeln(impressora, Format(´¬-50s´, [´ CPF: ´ + cpf]));
// Writeln(impressora, Format(´¬-50s´,[´ CEP´+DmDados.TbContasRecCEP.Value+´´+Dmdados.TbContasRecCidade.Value+´´+ Dmdados.TbContasRecEstado.Value]));
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
CloseFile(impressora);
Diegogm
Curtidas 0
Respostas
Edilcimar
06/05/2005
toma lá, este aí imprime do unibanco
procedure TForm33.Button6Click(Sender: TObject);
var
Linha : Integer;
Juro, Juros : Currency;
Cliente, Endereco1, Endereco2, CGC : String;
begin
Juro := StrToFloat(Table3.FieldByName(´JUROS´).AsString);
Cursor := crHourGlass;
Printer.Canvas.Font.Name := ´Arial´;
Printer.BeginDoc;
With Table4 do
Begin
Cliente := FieldByName(´NOME´).AsString;
Endereco1 := FieldByName(´RUA´).AsString;
Endereco1 := Endereco1 + ´ ´ + FieldByName(´NUM´).AsString;
If Trim(FieldByName(´SALA´).AsString) <> ´´ then
Endereco1 := Endereco1 + ´ / ´ + FieldByName(´SALA´).AsString;
Endereco2 := FieldByName(´BAIRRO´).AsString;
Endereco2 := Endereco2 + FieldByName(´CIDADE´).AsString;
Endereco2 := Endereco2 + ´ ´ + FieldByName(´ESTADO´).AsString;
Endereco2 := Endereco2 + ´ ´ + FieldByName(´CEP´).AsString;
If FieldByName(´TIPO´).AsString = ´J´ then
CGC := ´C.G.C.: ´ + FieldByName(´CGC´).AsString
Else
CGC := ´C.P.F.: ´ + FieldByName(´CPF´).AsString;
End;
Linha := 0;
With Table2 do
Begin
First;
While not eof do
Begin
Linha := Linha + 43;
With Printer.Canvas do
Begin
Font.Size := 9;
TextOut(650,Linha,FieldByName(´VENCIMENTO´).AsString);
Linha := Linha + 76;
TextOut(25,Linha,FieldByName(´EMISSAO´).AsString);
TextOut(140,Linha,FieldByName(´NUMERO´).AsString);
Linha := Linha + 35;
TextOut(690,Linha,FloatToStrF(FieldByName(´VALOR´).AsFloat, ffCurrency, 10,2));
Linha := Linha + 62;
TextOut(25,Linha,Edit12.Text);
Linha := Linha + 18;
TextOut(25,Linha,Edit13.Text);
Linha := Linha + 18;
Juros := FieldByName(´VALOR´).AsFloat * (Juro/30) /100;
TextOut(25,Linha,´COBRAR JUROS DE ´ + FloatToStrF(Juros, ffFixed, 10,2) + ´ AO DIA´);
Linha := Linha + 120;
Font.Size := 7;
TextOut(45,Linha,Cliente);
Linha := Linha + 13;
TextOut(45,Linha,Endereco1);
Linha := Linha + 13;
TextOut(45,Linha,Endereco2);
Linha := Linha + 13;
TextOut(90,Linha,CGC);
Linha := Linha + 159;
End;
Next;
End;
End;
Printer.Canvas.TextOut(0,Linha,´ ´);
Printer.EndDoc;
cursor := crDefault;
end;
procedure TForm33.Button6Click(Sender: TObject);
var
Linha : Integer;
Juro, Juros : Currency;
Cliente, Endereco1, Endereco2, CGC : String;
begin
Juro := StrToFloat(Table3.FieldByName(´JUROS´).AsString);
Cursor := crHourGlass;
Printer.Canvas.Font.Name := ´Arial´;
Printer.BeginDoc;
With Table4 do
Begin
Cliente := FieldByName(´NOME´).AsString;
Endereco1 := FieldByName(´RUA´).AsString;
Endereco1 := Endereco1 + ´ ´ + FieldByName(´NUM´).AsString;
If Trim(FieldByName(´SALA´).AsString) <> ´´ then
Endereco1 := Endereco1 + ´ / ´ + FieldByName(´SALA´).AsString;
Endereco2 := FieldByName(´BAIRRO´).AsString;
Endereco2 := Endereco2 + FieldByName(´CIDADE´).AsString;
Endereco2 := Endereco2 + ´ ´ + FieldByName(´ESTADO´).AsString;
Endereco2 := Endereco2 + ´ ´ + FieldByName(´CEP´).AsString;
If FieldByName(´TIPO´).AsString = ´J´ then
CGC := ´C.G.C.: ´ + FieldByName(´CGC´).AsString
Else
CGC := ´C.P.F.: ´ + FieldByName(´CPF´).AsString;
End;
Linha := 0;
With Table2 do
Begin
First;
While not eof do
Begin
Linha := Linha + 43;
With Printer.Canvas do
Begin
Font.Size := 9;
TextOut(650,Linha,FieldByName(´VENCIMENTO´).AsString);
Linha := Linha + 76;
TextOut(25,Linha,FieldByName(´EMISSAO´).AsString);
TextOut(140,Linha,FieldByName(´NUMERO´).AsString);
Linha := Linha + 35;
TextOut(690,Linha,FloatToStrF(FieldByName(´VALOR´).AsFloat, ffCurrency, 10,2));
Linha := Linha + 62;
TextOut(25,Linha,Edit12.Text);
Linha := Linha + 18;
TextOut(25,Linha,Edit13.Text);
Linha := Linha + 18;
Juros := FieldByName(´VALOR´).AsFloat * (Juro/30) /100;
TextOut(25,Linha,´COBRAR JUROS DE ´ + FloatToStrF(Juros, ffFixed, 10,2) + ´ AO DIA´);
Linha := Linha + 120;
Font.Size := 7;
TextOut(45,Linha,Cliente);
Linha := Linha + 13;
TextOut(45,Linha,Endereco1);
Linha := Linha + 13;
TextOut(45,Linha,Endereco2);
Linha := Linha + 13;
TextOut(90,Linha,CGC);
Linha := Linha + 159;
End;
Next;
End;
End;
Printer.Canvas.TextOut(0,Linha,´ ´);
Printer.EndDoc;
cursor := crDefault;
end;
GOSTEI 0