WebBrowserObject zu klein

Eroli

Erfahrenes Mitglied
Hallo zusammen,

ich will mittels eines WebBrowserObjects Internetseiten ausdrucken, welche zum Teil sehr lang sind. Dazu habe ich folgende Methode

C#:
        private static void Process(String filePath, String url)
        {
            browser.ScrollBarsEnabled = false;
            browser.ScriptErrorsSuppressed = true;

//browser.Update();
            browser.Navigate(url);
            while (browser.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }

            browser.Width = browser.Document.Body.ScrollRectangle.Width;
            browser.Height = browser.Document.Body.ScrollRectangle.Height;
//browser.Update();

            Bitmap bitmap = new Bitmap(browser.Width, browser.Height);
            browser.DrawToBitmap(bitmap, new Rectangle(0, 0, browser.Width, browser.Height));
            
            bitmap.Save(filePath, ImageFormat.Png);
        }

Doch die Größen stimmen nicht. Das Fenster ist dennoch zu klein und der Inhalt wird zum Teil abgeschnitten.
Seltsam ist, dass für jede Seite - die auf jeden Fall unterschiedlich groß sind - diegleichen Maße gewählt werden. Dadurch wird der Inhalt in Höhe und sogar Breite abgeschnitten... :-/

Auch die auskommentierten "Updates" bringen keine Besserung.

Vielleicht ist noch interessant, dass das Ganze als Konsolenapplication in einem Thread läuft mit den normalen erforderlichen Referenzen (Windows.Forms und Windows.Drawing glaube ich). Außerdem wird das Browserobjekt nur einmal erstellt (wegen einer erforderlichen Anmeldung (siehe hier), aber ich glaube nicht, dass das Problem ist... oder doch?

Hat jemand noch andere Vorschläge?

Danke!

Eroli
 
Zuletzt bearbeitet:
Zurück