Bonjour à tous,
Je viens vers vous car j'avoue que je sèche sur un point.
J'ai développé une appli asp.net qui a charge d'imprimer des PDF (jusque là rien de bien méchant).
Je génère mon pdf via itextsharp sans aucun soucis, mais je bloque sur l'impression.
Je m'explique.
J'ai une appli Web qui appelle un programme console chargé des impressions (écrit en C#) dans un dossier spécifique.
Sur ma machine de test, j'arrive à lancer l'impression (depuis ma page web) sur l'imprimante par défaut via le code ci-dessous:
Aucun soucis sur ma machine qui lance Adobe Reader et l'impression.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #region PUBLIC MEMBERS public bool Printing(string FilePath) { string path = FilePath; if (System.IO.File.Exists(FilePath)) { if (ShellExecute((IntPtr)(1), "Print", FilePath, "", Directory.GetDirectoryRoot(FilePath), SW_SHOWNORMAL).ToInt32() <= 32) { return false; } else { return true; } } else { return false; } } #endregion
Une fois cela testé, je vais le tester sur la machine de pré-prod, et c'est là que cela se corse.
Aucune exception levée, aucun log, le fichier PDF généré par l'appli ASPX existe bien, pas de code retour d'erreur "Le fichier n'existe pas" lors de l'appel à l’exécutable "chargé des impressions" (l'appli console c#)... mais aucune impression ne se lance....
Pourtant si je lance l’exécutable via la console windows avec comme paramètre mon fichier PDF généré, l'impression se lance.
Je me dis donc que c'est IIS7 de mon serveur de préprod qui fait barrage, mais j'avoue ne pas voir où cela peut-être....
Y a t-il un blocage des impressions par défaut dans IIS ? (mais cela n'aurait aucun sens vu que je passe par une application console et pas ASPX directement...)
Note: Le lancement d'application console depuis IIS a été autorisé et fonctionne car je peux lancer une autre application console depuis ma page web...
EDIT: [Info Supplémentaire] La valeur de retour de la fonction ShellExecute est "42"
Je vous remercie par avance !
Cdt,
Alkaza
Partager