Laden...

Html-Datei ohne Fenster für die Druckauswahl direkt drucken

Erstellt von TyhMoe vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.975 Views
T
TyhMoe Themenstarter:in
2 Beiträge seit 2016
vor 7 Jahren
Html-Datei ohne Fenster für die Druckauswahl direkt drucken

Guten Tag,
ich versuche gerade aus meinem Programm heraus eine txt- und eine html-Datei zu drucken. Mit der txt-Datei funktioniert das auch problemlos.
Bei der html-Datei öffnet sich immer das Fenster für die Druckerauswahl.
Meine Frage ist, kann ich dieses Fenster unterdrücken und das Dokument direkt an den Standarddrucker senden?


var printProcess = new Process()
printProcess.StartInfo.FileName = speicherortHtml;
printProcess.StartInfo.UseShellExecute = true;                        
                         
printProcess.StartInfo.Verb = "print";
printProcess.StartInfo.Arguments = "\""+"standardDrucker"+"\"";
printProcess.Start();

16.835 Beiträge seit 2008
vor 7 Jahren

IIRC geht das bei HTML Dateien in der Form nicht, da der Drucker mit HTML nichts anfangen kann. Mit Text geht das.
Der Drucker müsste ja das HTML Rendern, was er sicherlich nicht kann.

Vermutlich wirst Du ein WebBrowserControl brauchen oder zB. auf die IE Libs zugreifen müssen, um das ohne Dialog hinzubekommen.

T
TyhMoe Themenstarter:in
2 Beiträge seit 2016
vor 7 Jahren

Hallo danke für deine Antwort.

Der Drucker druckt nach den Druckdialog das html-file ganz normal aus. Es geht nur darum, dass der Druckdialog nicht aufgerufen wird.

3.170 Beiträge seit 2006
vor 7 Jahren

Hallo,

der Dialog kommt aber eben genau von dem Programm, das das HTML für Dich rendert bevor es an den Drucker gesendet wird. Mit ShellExecute = true und dem Verb = "print" wird eben ein Programm ausgeführt, das in der Registry für diesen Dateityp und dieses Verb gelistet ist. Das wird dann für gewöhnlich mit einer Kommandozeilenoption aufgerufen, die nur den Druckdialog anzeigt.
Kannst ja mal bei Dir in HKEY_CLASSES_ROOT\htmlfile\shell\Print\command gucken, da sollte das Kommando drinstehen.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

57 Beiträge seit 2012
vor 7 Jahren

Such doch mal nach einer Bibliothek mit Render-Klassen für HTML-Dateien.
Für pdf-Dateien bietet ja bspw. Adobe auch eine entsprechende Möglichkeit an mit einer print-Methode

OO gibts seit Platon - hatte der auch C#?