Bonjour,
je viens à vous pour vous demander vos aides, et vos connaissances.
En effet, dans le cadre d'une mission professionnelle, j'ai besoin d'imprimer dans mon application. En revanche, l'application récupère le serveur et le nom de l'imprimante, en fonction de cela, l'application lance direct l'impression après évènement du client (click sur un bouton ou autre). L'application ne doit donc surtout pas afficher le Dialog d'impression (avec choix de l'imprimante etc).
Il existe plusieurs serveurs et imprimantes, ceux ci sont déterminés au travers de la base de données.
Après m'être informé sur le sujet j'ai trouvé comment lancer une impression sur une imprimante précise d'une machine en réseau :
J'utilise le Framework 1.1 dans le cadre de la mission professionnelle (lié au spec.).
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 using System.Drawing.Print; ... try { PrintDocument pDoc = new PrintDocument(); pDoc.DocumentName = "Ceci est un test"; pDoc.PrinterSettings.PrinterName = @"//Serveur2/Impr1"; // en dur pour test pDoc.Print(); ... } catch (Exception ex) { lblErreur.Text = "Erreur d'impression : " + ex.Message; }
Mon problème est le suivant :
Quand je tape ce code en WinForm, aucun soucis, ça imprime (bon, une page blanche mais c'est normal vu que j'ai pas spécifier de texte).
En revanche, quand je met ce code dans une WebForm, ça n'imprime pas, ca passe dans le catch et j'ai droit à un "Le serveur RPC n'est pas disponible".
J'ai cherché hier toute l'après midi afin de trouver une solution et je dois vous avouer que pour le moment j'en ai pas vraiment... Même en spécifiant une Imprimante local du style PDFCreator :
WinForm : ouvre l'aperçu du PDFCreator (le Dialog) où je peux configurer et imprimer.
WebForm : ne passe plus dans le catch mais j'ai une erreur Windows :
PDFCreator.exe - Erreur d'application
L'application n'a pas réussi à s'initialiser correctement (0xc0000142). Cliquez sur OK pour arrêter l'application.
Voilà, avez vous une idée ? ou mieux, une solution ?
Je vous remercie d'avance,
Shinn77, Till the End of Time.
Partager