2011-08-25 3 views
2

Je veux imprimer un fichier html à l'imprimante par défaut avec powershell. Disons donc que je le fichier c: \ test.html avec le texte:imprimer automatiquement le fichier html avec powershell

<html> 
<p> hello <b>world</b></p> 
<html> 

Comment pourrais-je imprimer test.html à l'imprimante par défaut?

Merci à l'avance.

+0

Je suppose que vous êtes intéressé par l'impression de la sortie rendue plutôt que le code source html. – Filburt

+0

Exactement Filburt. –

Répondre

6
get-content c:\test.html | out-printer 

Imprime sur l'imprimante par défaut.

Edit:

si vous avez besoin d'imprimer rendu page HTLM:

$ie = new-object -com "InternetExplorer.Application" 
$ie.Navigate("c:\test.html") 
$ie.ExecWB(6,2) 

Modifier après les commentaires:

Je peux exécuter ce dans un fichier testprint.ps1:

$ie = new-object -com "InternetExplorer.Application" 
$ie.Navigate("c:\test.html") 
while ($ie.busy) { Start-Sleep -second 3 } 
$ie.ExecWB(6,2) 
while ($ie.busy) { Start-Sleep -second 3 } 
$ie.quit() 
+0

Merci Christian! Presque parfait. Je vois que je reste avec IE en cours d'exécution, devrais-je exécuter une commande "close"? J'ai essayé $ ie.Quit() et $ ie.Close() mais n'ai pas eu de chance. Des idées? –

+0

Pour diposer la session IE ouverte comme $ ie vous devez appeler $ ie.quit(). Cela ne ferme pas les autres sessions IE ouvertes. Pouvez-vous réessayer de fermer toutes les autres sessions IE? –

+0

Si je mets le quit, il n'imprime pas. J'ai essayé ceci: "While ($ ie.Busy) {Start-Sleep -Milliseconds 400} $ ie.Quit()" mais il n'imprime pas. –

Questions connexes