HTML-Dokument aus einer Anwendung drucken |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Die Verwendung des Internet Explorer 5 macht diese Aufgabe ziemlich einfach, setzt allerdings etwas Arbeit voraus. Angenommen du willst, dass dein Programm HTML-Dokumente ausdrucken kann - entweder direkt aus dem Internet oder aus einer Datei. Das Hauptproblem dabei ist, dass die TWebBrowser-Komponente keine Print-Methode anbietet. Wenn du jemals einen Blick in de MSHTML.pas geworfen hast, wirst du bemerkt haben, dass IHTMLWindow3 eine Print-Methode besitzt, die wir aufrufen können - der einzige Trick ist, ein IHTML-Window3-Interface von TWebBrowser zu erhalten. Das kann durch die Verwendung von TWebBrowser (muss nicht sichtbar sein) geschehen, indem WebBrowser.Navigate aufgerufen wird, um zu der zu druckenden Seite zu gelangen. Das Drucken wird im NavigateComplete-Ereignis erledigt.
procedure TForm1.WebBrowser_V1NavigateComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var HTMLDoc: IHTMLDocument2;
HTMLWnd: IHTMLWindow2;
HTMLWindow3: IHTMLWindow3;
begin
HTMLDoc := (Sender as TWebBrowser).Document as IHTMLDocument2;
if HTMLDoc = nil then
raise Exception.Create('Couldn''t convert the WebBrowser to an IHTMLDocument2');
HTMLWnd := HTMLDoc.parentWindow;
HTMLWindow3 := HTMLWnd as IHTMLWindow3;
// Finally, we get to the print method
HTMLWindow3.print;
end;
- TColor in den HTML-Farbcode umwandeln und umgekehrt
- TWebBrowser ausdrucken
- Bei TWebbrowser die Zwischenablage aktivieren
- Internet Explorer ActiveX-Komponente nutzen
- Formulare im Browser ausfüllen/auslesen
- HTML-Code der in TWebBrowser angezeigten Seite zugreifen
- Formulare in TWebBrowser abschicken
- Inhalt einer HTML-Datei aus dem Internet downloaden