Eine .html Datei "silent" drucken?

  • Ich versuche eine .html Datei auszudrucken, und zwar ohne das sich irgendwelche Fenster öffnen.
    Die letzten 2 Jahre hatte ich das mit folgender Geschichte ganz gut gelöst:

    AutoIt
    $oIE = _IECreate("D:\Data\Test.html", 0, 0)
    $oIE.execWB(6,2)	;silent drucken

    Mein Arbeitgeber ist nun von WinXP auf Win7 bzw. Win8 umgestiegen.
    Seitdem öffnet sich der IE und zeigt die zu druckende Seite an, anstatt sie an den Drucker zu senden.Auf meinem privaten Win7 Rechner funktioniert das einwandfrei.Dank fehlender Adminrechte konnte ich den Fehler leider nicht weiter eingrenzen, deswegen suche ich nun nach einer Alternative.


    Mit der Funktion...

    AutoIt
    _FilePrint("D:\Data\Test.html")

    ...bekomme ich nur den "Error 10" um die Ohren gehauen, doch leider ist der Fehler nirgendwo dokumentiert. ;(


    Benutze ich hingegen...

    AutoIt
    RunWait(@ComSpec & ' /c rundll32.exe ' & @SystemDir & '\mshtml.dll,PrintHTML "' & "D:\Data\Test.html", @TempDir, @SW_HIDE)

    ...so öffnet sich erst ein Dialogfeld was mich zur Auswahl des Druckers auffordert.Danach wird die .html Datei problemlos gedruckt.
    Kann ich das Dialogfeld irgendwie unterdrücken, sodas die Datei direkt an den Standartdrucker gesendet wird?

    cu, Lesato!

    • Offizieller Beitrag

    Probiere doch mal den Weg über Word. Lade im Hintergrund die Html-Seite in Word, wechsle den Standarddrucker, drucke und wechsle zurück.

  • Word wurde uns leider nicht spendiert, daher kann ich die Methode leider nicht testen.

    Jedoch habe ich den Auslöser für mein Problem zum Teil gefunden.
    Im IE unter den Internetoptionen/Sicherheit/Stufe anpassen gibt es einen Punkt der sich "Öffnen von Fenstern ohne Adress- oder Statusleisten für Websites zulassen" nennt.
    Auf einem zweitem Rechner MIT Adminrechten konnte ich den Punkt aktivieren und danach ging auch das drucken mit "$oIE.execWB(6,2)" wieder.
    Was ich jetzt nicht verstehe ist, warum beim erzeugen des IE's mit _IECreate() scheinbar die oben genannten Sicherheitsregeln verletzt werden.

    cu, Lesato!