Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mehrere HTML-Dokumente nacheinander mit TWebBrowser drucken (https://www.delphipraxis.net/80501-mehrere-html-dokumente-nacheinander-mit-twebbrowser-drucken.html)

jod0kus 9. Nov 2006 22:16


Mehrere HTML-Dokumente nacheinander mit TWebBrowser drucken
 
Hallo Zusammen,

bis jetzt konnte ich mir immer alle meine Fragen selber beantworten indem ich in Delphi-Foren gesucht habe. Nur leider finde ich diesmal auf mein Problem keine Antwort.

Nun zu meinen Problem:
Ich habe auf ein Netzlaufwerk viele viele HTML-Files liegen. Diese Datenmenge filtere ich und das Ergebnis schreibe ich in ein Array und zeige es in einen ListView an (das können 1 oder n Files sein).
Nun möchte ich aber das, wenn man auf einen Button klickt, alle gefundenen HTML-Dateien hintereinander über den Standarddrucker ausgedruckt werden.

Eine einzelne Datei kann ich ohne Probleme ausdrucken und zwar bin ich wie folgt vorgegangen:

Delphi-Quellcode:
WebBrowser1.Navigate(Daten[ArrayIndex]); //z.B. 'H:\tmp\test_123.htm'
Delphi-Quellcode:
//***************************************************************************//
// Druckt die aufgerufene Webseite aus. Es wird kein Druck-Dialog angezeigt
//***************************************************************************//
procedure TfrmMain.WebBrowser1NavigateComplete2(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER);
end;
Wenn ich jetzt mit einer Schleife mein Array durchlaufe und alle Seiten nacheinander laden will bekomme ich nur die letzte HTML-Seite ausgedruckt da nur diese vollständig geladen wird und so das NavigateComplete-Ereignis ausgelöst wird.

Wie bekomme ich es hin das erst nachdem die letzte Seite vollständig geladen wurde die nächste geladen wird bzw. wie schaffe ich es alle Seiten zu drucken.
(Ein Timer will ich nicht verwenden da ich ja nicht weiß wie lange eine Seite zum laden brauch)

Wahrscheinlich ist die Lösung ganz einfach und ich komme einfach nicht darauf.

Danke im Voraus und Gruß
jod0kus

Bernhard Geyer 9. Nov 2006 22:48

Re: Mehrere HTML-Dokumente nacheinander mit TWebBrowser druc
 
Gibt nicht das OnDocumentComplete-Event? erst danach hat der Browser die HTML-Seite soweit interpretiert das er das Drucken beginnen kann.

jod0kus 10. Nov 2006 06:47

Re: Mehrere HTML-Dokumente nacheinander mit TWebBrowser druc
 
Ob NavigateComplete oder OnDocumentComplete ich denke das dann immer noch nur die letzte Seite gedruckt wird.
Aber erstmal Danke für die Antwort ich probiere es aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 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