Problema com impressão de promissórias
02/09/2004
0
Pessoal, preciso imprimir umas notas promissórias pelo Delphi e estou usando o Printer.Canvas, mas não consigo configurar o tamanho do papel.
Então, ele ejeta o papel apos a impressão o q não deveria acontecer, porque as promissorias estão em formulário contínuo.
Alguem pode me ajudar ???
T+
Então, ele ejeta o papel apos a impressão o q não deveria acontecer, porque as promissorias estão em formulário contínuo.
Alguem pode me ajudar ???
T+
Eniorm
Curtir tópico
+ 0
Responder
Posts
02/09/2004
Dalri
Ao inves de usar o canvas tente usar o printer.
ai use a segunte procedure:
procedure TNotaFiscal.AlteConfig;
var imp : String;
begin
imp := Printer.Printers[Printer.PrinterIndex];
// busca os dados da impressora ativa
Printer.GetPrinter(Adevice, Adriver, Aport, DeviceMode1);
// pega um ponteiro para DEVMODE que e responsavel pelo paper
M := GlobalLock(DeviceMode1);
if M <> nil then
begin
// altera o tamanho do papel
M^.dmPaperSize := DMPAPER_USER;
M^.dmPaperWidth := tbConfigLARGURANT.value;
M^.dmPaperLength := tbConfigCOMPRINT.value;
Printer.SetPrinter(Adevice, Adriver, Aport, DeviceMode1);
end;
end;
Sendo que LARGURANT e COMPRINT estao armazenados na tabela de configuracao da nota fiscal.
Espero ter ajudado
ai use a segunte procedure:
procedure TNotaFiscal.AlteConfig;
var imp : String;
begin
imp := Printer.Printers[Printer.PrinterIndex];
// busca os dados da impressora ativa
Printer.GetPrinter(Adevice, Adriver, Aport, DeviceMode1);
// pega um ponteiro para DEVMODE que e responsavel pelo paper
M := GlobalLock(DeviceMode1);
if M <> nil then
begin
// altera o tamanho do papel
M^.dmPaperSize := DMPAPER_USER;
M^.dmPaperWidth := tbConfigLARGURANT.value;
M^.dmPaperLength := tbConfigCOMPRINT.value;
Printer.SetPrinter(Adevice, Adriver, Aport, DeviceMode1);
end;
end;
Sendo que LARGURANT e COMPRINT estao armazenados na tabela de configuracao da nota fiscal.
Espero ter ajudado
Responder
Clique aqui para fazer login e interagir na Comunidade :)