Question
Impression avancée des fichiers HTML
- IDFNaute
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 11 ans 6 mois #17972
par IDFNaute
Impression avancée des fichiers HTML a été créé par IDFNaute
Bonjour,
Dans la continuité de mon objectif d'imprimer une fiche de bienvenue personnalisée et la non-recommandation de Microsoft de passer par l'automatisation de Word coté serveur (ci fait ce topic : powershell-scripting.com/index.php?optio...id=17941&catid=5 ).
Je suis passé par la génération d'une page HTML.
Le script marche bien, mais lors de l'impression de la page, il y a la date, l'adresse du fichier et le numéro de page. En passant par l'interface graphique d'IE, il est possible de ne pas les imprimer en mettant ces champs par \"vide\".
J'ai cherché sur le msdn et internet pour trouver comment les paramétrer ces options par Powershell mais je ne rien trouvé.
Voici ce que j'ai fait :
[code:1]
function ImpressionFiche($FicheAMNA)
{
$ie = new-object -com InternetExplorer.Application
$ie.visible = $false
$ie.Navigate($FicheAMNA)
while ($ie.busy) {start-sleep -milliseconds 500}
$ie.ExecWB(6,2)
}
[/code:1]
Je me suis inspiré du post de Jdanel sur un autre sujet :
janel écrit:
Avez vous une idée pour ne pas imprimer ces informations ?
merci d'avance
Dans la continuité de mon objectif d'imprimer une fiche de bienvenue personnalisée et la non-recommandation de Microsoft de passer par l'automatisation de Word coté serveur (ci fait ce topic : powershell-scripting.com/index.php?optio...id=17941&catid=5 ).
Je suis passé par la génération d'une page HTML.
Le script marche bien, mais lors de l'impression de la page, il y a la date, l'adresse du fichier et le numéro de page. En passant par l'interface graphique d'IE, il est possible de ne pas les imprimer en mettant ces champs par \"vide\".
J'ai cherché sur le msdn et internet pour trouver comment les paramétrer ces options par Powershell mais je ne rien trouvé.
Voici ce que j'ai fait :
[code:1]
function ImpressionFiche($FicheAMNA)
{
$ie = new-object -com InternetExplorer.Application
$ie.visible = $false
$ie.Navigate($FicheAMNA)
while ($ie.busy) {start-sleep -milliseconds 500}
$ie.ExecWB(6,2)
}
[/code:1]
Je me suis inspiré du post de Jdanel sur un autre sujet :
janel écrit:
Tu es sur la bonne voie en cherchant dans les méthodes d'internetexplorer.application :
[code:1]
$oIE.ExecWB(6, 2)
[/code:1]
Le premier paramètre spécifie la commande à exécuter ( OLECMDID ).
Le second paramètre spécifie les options de cette commande ( OLECMDEXECOPT ).
Enjoy !
Avez vous une idée pour ne pas imprimer ces informations ?
merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- IDFNaute
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 11 ans 6 mois #17976
par IDFNaute
Réponse de IDFNaute sur le sujet Re:Impression avancée des fichiers HTML
Je m'auto-réponds car j'ai trouvé la solution ^^
C'est tout bête, lorsque l'on appelle IE, il utilise les paramètres par défaut de la mise en page.
Donc il faut configurer IE par son interface pour spécifier ce que l'on souhaite imprimer en plus du corps du fichier HTML (adresse, nombre de pages, date...).
Dans mon cas, il suffisait de mettre sur \"vide\".
Par contre je viens de quelque chose, lorsque je rajoute $ie.quit() à la suite de la ligne $ie.ExecWB(6,2) il ne se passe rien.
Par contre si je ne mets pas $ie.quit(), tout se fait correctement mais le process continue de tourner après.
Avez vous une idée pour fermer IE à la fin du script tout en permettant d'imprimer avant ?
J'ai essayer avec get-process iexplorer |stop-process (je retrouve le même problème qu'avec $ie.quit() )
C'est tout bête, lorsque l'on appelle IE, il utilise les paramètres par défaut de la mise en page.
Donc il faut configurer IE par son interface pour spécifier ce que l'on souhaite imprimer en plus du corps du fichier HTML (adresse, nombre de pages, date...).
Dans mon cas, il suffisait de mettre sur \"vide\".
Par contre je viens de quelque chose, lorsque je rajoute $ie.quit() à la suite de la ligne $ie.ExecWB(6,2) il ne se passe rien.
Par contre si je ne mets pas $ie.quit(), tout se fait correctement mais le process continue de tourner après.
Avez vous une idée pour fermer IE à la fin du script tout en permettant d'imprimer avant ?
J'ai essayer avec get-process iexplorer |stop-process (je retrouve le même problème qu'avec $ie.quit() )
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 6 mois #17979
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Impression avancée des fichiers HTML
IDFNAUTE écrit:
Pour l'impression, à priori cette méthode n'est pas synchrone.
Pour la fermeture, tu peux consulter ce post .Avez vous une idée pour fermer IE à la fin du script tout en permettant d'imprimer avant ?
Pour l'impression, à priori cette méthode n'est pas synchrone.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 11 ans 6 mois #17980
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Impression avancée des fichiers HTML
Laurent Dardenne écrit:
[code:1]
$PRINT_WAITFORCOMPLETION=2
$oIE.ExecWB(6, 2,$PRINT_WAITFORCOMPLETION)
[/code:1]
il y a une autre approche basée sur l'attente d'un event PrintTemplateTeardown, mais cela me semble un peu plus complexe.
Par curiosité j'ai regardé sur le net, essaie en passant un troisième argument (optionnel):Pour l'impression, à priori cette méthode n'est pas synchrone.
[code:1]
$PRINT_WAITFORCOMPLETION=2
$oIE.ExecWB(6, 2,$PRINT_WAITFORCOMPLETION)
[/code:1]
il y a une autre approche basée sur l'attente d'un event PrintTemplateTeardown, mais cela me semble un peu plus complexe.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Impression avancée des fichiers HTML