Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

Imprimindo Forms

Recommended Posts

Boa dia pessoal! beleza?

 

Tenho essa função na qual ela imprime o TForm direto pra impressora, porém só em alguns computadores funcionam, alguem saberia o pq?

 

PrintFormuses  Windows, SysUtils, Printers, Forms, Graphics, Controls, Classes;  .  .  .procedure PrintForm(frm: TForm);var  bmp: TBitMap;  x, y, WDPI, HDPI: Integer;  OldColor: TColor;begin  Screen.Cursor := crHourGlass;  OldColor := frm.Color;  frm.Color := clWhite;  frm.Update;  bmp := frm.GetFormImage;  with Printer do  begin  Orientation := poLandscape;  BeginDoc;  HDPI := PageHeight div 8;  WDPI := PageWidth div 8;  x := PageWidth - Round(WDPI * 0.4); {0.4" margem direita}  y := PageHeight - Round(HDPI * 0.5); {0.5" Altura do rodapé}  Canvas.StretchDraw(Rect(0, 0, x, y), bmp);  EndDoc;  end;  bmp.Free;  frm.Color := OldColor;  Screen.Cursor := crDefault;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esses computadores que funciona a impressão, seria os que tem um determinado sistema operacional ?

Todos Win XP Pro, a diferença fica entre as impressoras, 1 Epson (USB) e HP (Serial) funcionou, e onde não funcionou era uma lexmark e outros computadores onde não sei a marca da impressora

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser os comandos que ele envia para a impressora então que não funciona, tente criar um relatório, pode ser em qrp, tendo dentro dele um TImage, faça o procedimento de capturar a imagem, e depois passe essa imagem para o qrp e depois mande imprimir o relatório, agredito que deva de funcionar desta forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser os comandos que ele envia para a impressora então que não funciona, tente criar um relatório, pode ser em qrp, tendo dentro dele um TImage, faça o procedimento de capturar a imagem, e depois passe essa imagem para o qrp e depois mande imprimir o relatório, agredito que deva de funcionar desta forma.

Vou fazer o teste, depois posto aki o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele imprime o form. Testa aí. Eu também nunca usei hehe :rolleyes:

Valeu Vinicius!! Funcionou!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
Agora... como faço pra ajustar o tamanho da folha? em alguns casos ele fica fora

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega, se não estou enganado quanto ao Form.Print, ele copia o Canvas do Form para o Canvas do TPrinter... portanto, receio que possa ser impossível realizar esse redimensionamento no próprio Form.Print. Não tenho muita experiencia com Canvas/imagens, mas acho que você teria que copiar o Canvas do formulário e ir redimensionar no braço.[]'s,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Franco escreveu:Olá!Para Imprimir o Form com tamanho maior use a propriedade Printer.Zoom antes do PrintForm, Printer.Zoom = 2 por exemplo, e para centralizá-lo utilize as propriedades de coordenadas CurrentX e CurrentY.[]'s,Franco.

Retirado de: http://www.forumweb.com.br/foruns/index.php?showtopic=6426

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.