![]() |
TWebBrowser: Inhaltbereich markieren und drucken???
Hallo!
Ich lade eine bestimmte Seite in TWebBrowser. Kann ich irgendwie den bestimmten Bereicht des Seiteninhalts markieren, wenn ich die Quellcode der Seite kenne und genau weiss, wie der zu markierenden Bereich im Quellcode anfängt und endet? Ist das überhaupt möglich? Diesen Bereich möchte ich dann drucken, genau so wie im normalen Browser, wenn wir nicht die ganze Seite, sondern nur den markierten Bereich drucken wollen. Danke! |
AW: TWebBrowser: Inhaltbereich markieren und drucken???
Hallo,
leider etwas wenig Information. Zitat:
Wenn Du den Textinhalt der Seite kennst, also z. B.: Ich lade eine bestimmte Seite in TWebBrowser. Kann ich irgendwie den bestimmten Bereicht des Seiteninhalts markieren, wenn ich die Quellcode der Seite kenne und genau weiss, wie der zu markierenden Bereich im Quellcode anfängt und endet? Ist das überhaupt möglich? Diesen Bereich möchte ich dann drucken, genau so wie im normalen Browser, wenn wir nicht die ganze Seite, sondern nur den markierten Bereich drucken wollen. und Du möchtest den Teil von "Ich lade eine bestimmte [...]" bis "[..] Ist das überhaupt möglich?" selektieren und drucken, dann ginge das z. B. so:
Delphi-Quellcode:
Sollte Dir den Bereich entsprechend selektieren und den Druckdialog aufrufen.
procedure TForm1.Button1Click (Sender : TObject);
var t0, t1 : string; r0, r1 : IHTMLTxtRange; begin t0 := 'Ich lade eine bestimmte'; t1 := 'Diesen Bereich möchte ich dann'; r0 := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; r1 := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; if r0.findText (t0, 0, 0) and r1.findText (t1, 0, 0) then begin r0.setEndPoint ('EndToStart', r1); r0.moveEnd ('word', -1); r0.select; WebBrowser1.ExecWB (OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT) end end; Wenn Du etwas anderes vor hast, dann musst Du schon noch etwas Info liefern. Gruß |
AW: TWebBrowser: Inhaltbereich markieren und drucken???
Erst mal vielen Dank für die schnelle Reaktion!
Zitat:
Zitat:
Code:
Das bedeuted, ich kann in meinem Fall nicht einfach den Text im Browser-Bereich markieren, sondern muss irgendwie mit dem Quelltext der Seite arbeiten.
<irgendwas id="irgendelcheDetails" class="details">Hier der Bereich zum Selektieren</irgendwas>
|
AW: TWebBrowser: Inhaltbereich markieren und drucken???
Hallo,
leider kann ich wieder nur raten. Hilft Dir vielleicht folgendes weiter:
Delphi-Quellcode:
[EDIT]
procedure TForm1.Button1Click(Sender: TObject);
var d : IHTMLDocument3; e : IHTMLElement; t : string; r : IHTMLTxtRange; begin d := WebBrowser1.Document as IHTMLDocument3; if not Assigned (d) then Exit; e := d.getElementById ('irgendelcheDetails'); if Assigned (e) then begin t := e.innerText; r := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; if r.findText (t, 0, 0) then begin r.select; WebBrowser1.ExecWB (OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT) end end end; Wenn es die NSA nicht wissen darf was Du selektiv ausdrucken möchtest, ok auch gut, ansonsten zeigt doch einfach den HTML-Code; helfen wird dann sicherlich einfacher. [/EDIT] Gruß |
AW: TWebBrowser: Inhaltbereich markieren und drucken???
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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