Arrais Júnior Postado Julho 15, 2010 Denunciar Share Postado Julho 15, 2010 bom dia, estou usando o componente PrintDialog para imprimir um texto do RichEdit, contudo, a impressão sai como se fosse em PAISAGEM, mesmo estando marcado RETRATO.utilizo uma impressora matricial epson fx-890 e esse código em um botãoIf (PrintDialog1.Execute) thenbeginPrinter.Orientation := poLandscape;RichEdit1.Print(ExtractFilePath(Application.ExeName) + '\Impressão.txt');.obs: tem que ser feita alguma alteração nos compenentes PageSetupDialog e PrinterSetupDialog para que eles funcionem?procedure TForm1.SpeedButton14Click(Sender: TObject);beginpagesetupdialog1.execute;end;procedure TForm1.SpeedButton9Click(Sender: TObject);beginprintersetupdialog1.execute;end;aproveitando o tópico, usando os componentes Dialog, tem como fazer uma visualização de impressão?obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 15, 2010 Denunciar Share Postado Julho 15, 2010 Veja este posthttps://www.scriptbrasil.com.br/forum/lofiv...hp/t129560.htmlabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arrais Júnior Postado Julho 15, 2010 Autor Denunciar Share Postado Julho 15, 2010 eu li, porém, não consegui encontrar algo que me ajudasse no meu problema.vou tentar deixar bem claro o que eu preciso.preciso de um botão que imprima, usando o PrintDialog, com esses atributos, levando em consideração uma folha normal A4:Estilo = RETRATOMargem Esquerda = 25Margem Direita = 20Margem Superior = 20Margem Inferior = 20tem como? como ficaria o código?obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 15, 2010 Denunciar Share Postado Julho 15, 2010 Amigo ... pela falta de tempo, o que posso fazer é te indicar onde pesquisar sobre o assuntohttp://www.delphipages.com/forum/showthread.php?t=160040http://www.ramosdainformatica.com.br/dic_r...s01.php?CDA=892http://www.delphibasics.co.uk/RTL.asp?Name=TPrintDialoghttp://www.delphibasics.co.uk/Article.asp?Name=Printinghttp://blog.ph0.com.br/?p=134abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arrais Júnior Postado Julho 16, 2010 Autor Denunciar Share Postado Julho 16, 2010 obrigado pela ajuda jhonas...eu não consegui, inclusive, já tinha visto dois desses links em minhas procuras..mesmo assim obrigado.se algum puder postar como ficaria para:preciso de um botão que imprima, usando o PrintDialog, com esses atributos, levando em consideração uma folha normal A4:Estilo = RETRATOMargem Esquerda = 25Margem Direita = 20Margem Superior = 20Margem Inferior = 20 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arrais Júnior Postado Julho 16, 2010 Autor Denunciar Share Postado Julho 16, 2010 alguém me ajuda?? Oo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 16, 2010 Denunciar Share Postado Julho 16, 2010 OK... vou te ajudaruses Printers;(* Setar as margens do RichEdit em Polegadas (1 polegada = 2.54 cm) para a impressora ativa *) procedure SetRichEditMargins( const mLeft, mRight, mTop, mBottom: extended; const re : TRichEdit); var ppiX, ppiY : integer; spaceLeft, spaceTop : integer; r : TRect; begin // pixels por polegadas ppiX := GetDeviceCaps(Printer.Handle, LOGPIXELSX); ppiY := GetDeviceCaps(Printer.Handle, LOGPIXELSY); // não imprimir margens spaceLeft := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX); spaceTop := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY); //calcular as margens R.Left := Round(ppiX * mLeft) - spaceLeft; R.Right := Printer.PageWidth - Round(ppiX * mRight) - spaceLeft; R.Top := Round(ppiY * mTop) - spaceTop; R.Bottom := Printer.PageHeight - Round(ppiY * mBottom) - spaceTop; // setar as margens re.PageRect := r; end; procedure TForm1.Button1Click(Sender: TObject); var MEsq, MDir, MSup, MInf : real; begin {Estilo = RETRATO Margem Esquerda = 25 Margem Direita = 20 Margem Superior = 20 Margem Inferior = 20} if PageSetupDialog1.Execute then begin Printer.Orientation := poPortrait; // vertical MEsq := (PageSetupDialog1.MarginLeft / 2.54)/1000; MDir := (PageSetupDialog1.MarginRight / 2.54)/1000; MSup := (PageSetupDialog1.MarginTop / 2.54)/1000; MInf := (PageSetupDialog1.MarginBottom / 2.54)/1000; SetRichEditMargins(MEsq, MDir, MSup, MInf, richEdit1); richEdit1.Print('Printing with margins'); end; end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arrais Júnior Postado Julho 16, 2010 Autor Denunciar Share Postado Julho 16, 2010 vlws mesmo jhonas, já alterei aqui, amanhã quando chegarno trabalho eu testo...já vou agradecendo pelo trabalho que você teve em especificar tudo...obrigado mesmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arrais Júnior Postado Julho 17, 2010 Autor Denunciar Share Postado Julho 17, 2010 opa! aqui estou :Po problema da impressao em paisagem foi corrigido, obrigado!tou tendo um probleminha, as margens não tão saindo como é configurado...não importa se eu altero no cod. Printer.Orientation := poPortrait; // vertical MEsq := (PageSetupDialog1.MarginLeft / 2.54)/100; MDir := (PageSetupDialog1.MarginRight / 2.54)/100; MSup := (PageSetupDialog1.MarginTop / 2.54)/100; MInf := (PageSetupDialog1.MarginBottom / 2.54)/100;...ou se eu altero na janelinha que imprime...ela sempre sai do mesmo tamanho Oo, não deixando a margem :(eu já tentei mudar o tipo de papel, porem, a mesma coisa..alguma luz?eu uso uma impressoa matricial epson 980.obrigao..jhonas...me ajuda! hiiihih =D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Julho 17, 2010 Denunciar Share Postado Julho 17, 2010 ou se eu altero na janelinha que imprime...ela sempre sai do mesmo tamanho Oo, não deixando a margemfoi mal ... erro no calculoMEsq := (PageSetupDialog1.MarginLeft / 2.54)/1000; MDir := (PageSetupDialog1.MarginRight / 2.54)/1000; MSup := (PageSetupDialog1.MarginTop / 2.54)/1000; MInf := (PageSetupDialog1.MarginBottom / 2.54)/1000;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Arrais Júnior Postado Julho 17, 2010 Autor Denunciar Share Postado Julho 17, 2010 (editado) obrigado...amanhã quando eu for pro trabalho eu teste novamente =Dvlws mesmo.eu tenho um botao que serve de SALVAR COMO, igual o dos word e tals..como é que faz pra por um botao que SALVA o arquivo já aberto...tipo o SALVAR do word..para evitar que se perca o trabalho se o pc travar e tals. Editado Julho 17, 2010 por Arrais Júnior Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Arrais Júnior
bom dia, estou usando o componente PrintDialog para imprimir um texto do RichEdit, contudo, a impressão sai como se fosse em PAISAGEM, mesmo estando marcado RETRATO.
utilizo uma impressora matricial epson fx-890
e esse código em um botão
If (PrintDialog1.Execute) then
begin
Printer.Orientation := poLandscape;
RichEdit1.Print(ExtractFilePath(Application.ExeName) + '\Impressão.txt');.
obs: tem que ser feita alguma alteração nos compenentes PageSetupDialog e PrinterSetupDialog para que eles funcionem?
procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
pagesetupdialog1.execute;
end;
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
printersetupdialog1.execute;
end;
aproveitando o tópico, usando os componentes Dialog, tem como fazer uma visualização de impressão?
obrigado.
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.