Witam!
Mam mały problem, a mianowicie w jaki sposób wydrukować plik html (jak z przeglądarki) w aplikacji wpf?

- Rejestracja:ponad 12 lat
- Ostatnio:8 miesięcy
- Postów:6610
jeśli chcesz wydrukować już "gotową" (nie wiem jak odmienić wyrenderowaną?) stronę to musisz ją otworzyć w jakimś silniku https://www.google.pl/search?q=wpf+webbrowserromium to już tylko Twój wybór. Oczywiście nie musisz jej otwierać w przeglądarce a we własnym oknie "podglądu". Jak to zrobić zależy od silnika, który wybierzesz a opisów w necie jest od metra, tu np. o WebBrowser
- Rejestracja:około 12 lat
- Ostatnio:ponad 6 lat
- Postów:149
Ok, ale jednak problem polega na tym, że brakuje mi przy WebBrowser metody print? Jak drukować?
Troszkę szperałem, ale niestety nie dało to żadnego wyniku.
PrintDialog pd = new PrintDialog();
pd.PrintDocument(((IDocumentPaginatorSource)web1.Document).DocumentPaginator, "My App");
wywala błąd:
An exception of type 'System.InvalidCastException' occurred in WpfApplication2.exe but was not handled in user code
Additional information: Nie można rzutować obiektu modelu COM typu 'mshtml.HTMLDocumentClass' na typ interfejsu 'System.Windows.Documents.IDocumentPaginatorSource'. Ta operacja nie powiodła się, ponieważ wywołanie metody QueryInterface dla składnika modelu COM w celu uzyskania interfejsu o identyfikatorze IID '{2C0C27DF-282F-3225-ADCD-CEC68F890EEB}' nie powiodło się z powodu następującego błędu: Taki interfejs nie jest obsługiwany. (Wyjątek od HRESULT: 0x80004002 (E_NOINTERFACE)).
Spróbowałem więc innego rozwiązania:
mshtml.IHTMLDocument2 doc = web1.Document as mshtml.IHTMLDocument2;
doc.execCommand("Print",false);
drukuje, jednak z oknem dialogowym, którego nie potrafię wyłączyć...
Proszę was o wsparcie.
Bardzo mi na tym zależy.
- Rejestracja:około 12 lat
- Ostatnio:ponad 6 lat
- Postów:149
A wiec problem rozwiązałem inaczej (może się przyda dla potomnych).
Wpadłem na pomysł jak to rozwiązać.
W sumie dlaczego skoro nie ma w wpfach drukowania html a jest w windowsforms - to czemu tego nie wykorzystać.
Wiec w wpfie stworzyłem okno windows form, które otwiera się, drukuje co mi potrzebne i zamyka ;)
Proste a jednak genialne ;)
Może nie jest to najlepsze rozwiązanie, ale działa. Chyba, że ktoś wpadł na inny pomysł ;)
pozdrawiam;)
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.