2016-07-14 13 views
0

Ich versuche nur, eine Druckvorschau eines HTML-Dokuments in einem Webbrowser-Steuerelement zu erhalten. Ich bin erfolgreich in der Lage, das Dokument zu drucken angezeigt wird, mit diesem Code:WebBrowser-Druckvorschau Befehl

IHTMLDocument2 doc = WebBrowser.Document as IHTMLDocument2; doc.execCommand("Print", false, null);

Ich weiß, dass es andere Methoden, um das Dokument, wie das Erstellen eines XPS-Dokument zu drucken und dann die paginator Gabe, aber dies Lösung scheint einfach sehr nett.

Jetzt frage ich mich nur, warum es keinen ähnlichen Befehl gibt, um dasselbe für die Anzeige einer Druckvorschau zu tun. Ich habe mir die Liste der Befehlsbezeichner angeschaut: https://msdn.microsoft.com/en-us/library/ms533049(v=vs.85).aspx und habe es nicht geschafft, einen Druckvorschaubefehl zu finden ... oder einen Druckbefehl haha, was mich denken lässt, dass ich an der falschen Stelle suche, obwohl diese Liste schien entsprechen dem Objekt, das ich verwende, da dies die Befehlsbezeichner für die Funktion execCommand sind.

Die beste Antwort auf diese Frage: Displaying Print Preview of HTML Document without DocumentViewer funktionierte für mich und ich konnte erfolgreich eine Druckvorschau anzeigen. Der Code ist jedoch verwirrend und scheint aufgebläht zu sein.

Gibt es eine Möglichkeit, eine Druckvorschau mit der obigen Methode anzuzeigen? Wo ist die Liste der Befehle für die execCommand-Funktion?

Danke.

Antwort

0

Die vollständige Liste der unterstützten Befehlskennungen ist dokumentiert here on MSDN.

Das Bit, das schlecht dokumentiert ist, ist dies die Liste der Befehls-IDs, keine Zeichenfolgen, die execCommand verwendet. Sie rufen IDM_EXECPRINT, die Alias ​​als String ist einfach als "Print". Die meisten anderen Zeichenfolgen werden nur ohne den IDM_-Teil des Bezeichners dem Befehlsbezeichner zugeordnet.

Wie Sie aus dieser Liste sehen können, gibt es keine Version einer Druckvorschau, also müssen Sie eine andere Lösung finden.

+0

Welpe verdammt, danke für Sie Hilfe! – Galactasm