Cześć,
chcę sobie wydrukować HTML'a, którego przechowuję w stringu i coś takiego...:
var browser = new WebBrowser();
browser.NavigateToString(this.SelectedDocument.Content);
// gdzie `this.SelectedDocument.Content` to dokument HTML.
var html = browser.Document as MSHTML.IHTMLDocument2;
html.execCommand("Print", false, null);
...drukuje mi wyłącznie pustą stronę about:blank
.
Komponent WebBrowser
to przeglądarka z WPF. Niestety komponent WPF posiada mniejszą funkcjonalność od takiego samego w Winforms. Nie chcę dodawać referencji do Winforms tylko po to żeby wydrukować sobie HTML'a z poziomu wbudowanej tam przeglądarki.
Problem trochę przystalkowałem debugerem i wyszła bardzo dziwna rzecz:
Nawet pomimo wstawienia zwykłego HTML'a do stringa np.: <html><header><title>TEST</title></header><body></body></html>
zamiast this.SelectedDocument.Content
obiekt html
przedstawiony wyżej w kodzie i tak posiada np. własność IHTMLDocument2_title
ustawioną jako ""
i... IHTMLDocument2_url
ustawiony na about:blank
! A przecież jest zupełnie inaczej!
Przeszukałem Internety w poszukiwaniu rozwiązania i na nic nie natrafiłem. Ludzie piszą, że powyższe rozwiązanie im działa.
Nie wiem... może źle ładuję dokument do tego WebBrowser'a
czy coś?
O co może chodzić?
PS: Kiedy załaduję tego WebBrowser'a
do jakiegoś okna to dokument wyświetla się prawidłowo i z powodzeniem mogę na niego kliknąć prawym przyciskiem myszki i wybrać drukuj. Taki wydruk działa ale nie o to przecież chodzi.