![]() |
HTML Drucken mit Printer.Canvas
Hallo zusammen,
ich möchte meine Mails im HTML Format ausdrucken mit meinen eigenen Header oben auf dem Ausdruck. Jetzt habe ich in einen Tut gefunden wie man HTML Seiten im TWebBrowser ausdruckt, leider werden dann immer zwei Seite gedruckt (Header und HTML). Es werde auch immer zei Dialoge angezeigt. Leider finde ich keine gute Hilfe zu
Delphi-Quellcode:
Wie kann ich jetzt realisieren, das die HTML Seite unter dem Header erscheint ?
WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER)
Die Seite soll so ausgeduckt werden, wie sie im WebBrowser zu sehen ist. hier mal mein Code mit dem ich das versuche:
Delphi-Quellcode:
...
... if (PrintDialog1.Execute) then begin DateTimeToString(datum, 'dd.mm.yyyy hh:nn:ss', now); printer.BeginDoc; Printer.Title := 'MailClient - Mail Drucken'; printer.Canvas.Font.Size := 12; Printer.Canvas.TextOut(250, 250, 'MailClient'); Printer.Canvas.TextOut(printer.PageWidth - 1210, 250, datum); printer.Canvas.Font.Size := 10; printer.Canvas.Pen.Width := 8; printer.Canvas.MoveTo(250, 370); printer.Canvas.LineTo(printer.PageWidth - 250, 370); Printer.Canvas.TextOut(250, 450, 'Von: ' + Msg.From.Text); Printer.Canvas.TextOut(printer.PageWidth - 1650, 450, 'Empfangen: ' + DateToStr(Msg.Date) + ' um ' + TimeToStr(Msg.Date)); Printer.Canvas.TextOut(250, 550, 'An: ' + Msg.Recipients.EMailAddresses); Printer.Canvas.TextOut(250, 650, 'Betr: ' + Msg.Subject); printer.Canvas.Pen.Width := 8; printer.Canvas.MoveTo(250, 800); printer.Canvas.LineTo(printer.PageWidth - 250, 800); if pos('Content-Type: text/html', msg.Headers.Text) <> 0 then begin WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER) end else begin for i := 0 to Richedit1.Lines.Count do Printer.Canvas.TextOut(250, 950 + (i * printer.Canvas.TextHeight(Richedit1.Lines.Strings[i])), Richedit1.Lines.Strings[i]); end; Printer.EndDoc; end; ... ... |
Re: HTML Drucken mit Printer.Canvas
Hallo Mario,
wenn du zweimal den PrintDialog siehst, dann deshalb, weil der WebBrowser in seinem eigenen print job druckt. Du darfst deinen Header nicht auf diese Weise drucken, arbeite mit ![]() Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz